Skip to content

Commit 7cc1709

Browse files
committed
Add test for mustBeValidTime
1 parent 0a495d0 commit 7cc1709

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

code/internal/property_validation/mustBeValidTime.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
function mustBeValidTime(value)
2-
isValid = all(value.Year == 0 & value.Month == 0 & value.Day == 0);
2+
3+
[h, m, s] = hms(value); hmsArray = [h; m; s];
4+
isValid = all(value.Year == -1) && all( sum(hmsArray, 1) ~= 0);
5+
36
if ~isValid
47
warning('OPENMINDS_MATLAB:PropertyValidators:InvalidTime', ...
58
'Value must be a datetime value without date information')

tools/tests/unitTests/PropertyValidatorTest.m

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,26 @@ function testMustBeValidStringLength(testCase)
113113
@() mustBeValidStringLength(testValue, 10, 15), ...
114114
'OPENMINDS_MATLAB:PropertyValidators:InvalidStringLength')
115115
end
116+
117+
function testMustBeValidTime(testCase)
118+
119+
validTime = datetime(0,0,0,18,30,10);
120+
inValidTime = datetime(2024,1,1,18,30,10);
121+
inValidTimeNoTime = datetime(2024,1,1,0,0,0);
122+
123+
124+
% Test function when value is a valid time
125+
mustBeValidTime(validTime)
126+
127+
% Test function when datetime contains a year
128+
testCase.verifyWarning(...
129+
@() mustBeValidTime(inValidTime), ...
130+
'OPENMINDS_MATLAB:PropertyValidators:InvalidTime')
131+
132+
% Test function when there is no time info
133+
testCase.verifyWarning(...
134+
@() mustBeValidTime(inValidTimeNoTime), ...
135+
'OPENMINDS_MATLAB:PropertyValidators:InvalidTime')
136+
end
116137
end
117138
end

0 commit comments

Comments
 (0)