initial commit of Gregorian/IFC date conversion tools and unit tests
This commit is contained in:
63
test_IFC.m
Normal file
63
test_IFC.m
Normal file
@@ -0,0 +1,63 @@
|
||||
classdef test_IFC < matlab.unittest.TestCase
|
||||
|
||||
methods(TestClassSetup)
|
||||
% Shared setup for the entire test class
|
||||
end
|
||||
|
||||
methods(TestMethodSetup)
|
||||
% Setup for each test
|
||||
end
|
||||
|
||||
methods(Test)
|
||||
% Test methods
|
||||
|
||||
function test_today(testCase)
|
||||
ifc = IFC(datetime('28-Dec-2024'));
|
||||
testCase.verifyEqual(ifc.Year, uint16(2024));
|
||||
testCase.verifyEqual(ifc.Month, MONTHS(13));
|
||||
testCase.verifyEqual(ifc.Day, uint8(26));
|
||||
testCase.verifyEqual(ifc.DayOfWeek, DAYSOFWEEK(5));
|
||||
end
|
||||
|
||||
function test_yearday_noleap(testCase)
|
||||
ifc = IFC(datetime('31-Dec-2023'));
|
||||
testCase.verifyEqual(ifc.Year, uint16(2023));
|
||||
testCase.verifyEqual(ifc.Month, MONTHS(14));
|
||||
testCase.verifyEqual(ifc.Day, uint8(0));
|
||||
testCase.verifyEqual(ifc.DayOfWeek, DAYSOFWEEK(7));
|
||||
end
|
||||
|
||||
function test_yearday_leap(testCase)
|
||||
ifc = IFC(datetime('31-Dec-2020'));
|
||||
testCase.verifyEqual(ifc.Year, uint16(2020));
|
||||
testCase.verifyEqual(ifc.Month, MONTHS(14));
|
||||
testCase.verifyEqual(ifc.Day, uint8(0));
|
||||
testCase.verifyEqual(ifc.DayOfWeek, DAYSOFWEEK(7));
|
||||
end
|
||||
|
||||
function test_leapday_noleap(testCase)
|
||||
ifc = IFC(datetime('17-Jun-2003'));
|
||||
testCase.verifyEqual(ifc.Year, uint16(2003));
|
||||
testCase.verifyEqual(ifc.Month, MONTHS(6));
|
||||
testCase.verifyEqual(ifc.Day, uint8(28));
|
||||
testCase.verifyEqual(ifc.DayOfWeek, DAYSOFWEEK(0));
|
||||
end
|
||||
|
||||
function test_leapday_leap(testCase)
|
||||
ifc = IFC(datetime('17-Jun-2008'));
|
||||
testCase.verifyEqual(ifc.Year, uint16(2008));
|
||||
testCase.verifyEqual(ifc.Month, MONTHS(14));
|
||||
testCase.verifyEqual(ifc.Day, uint8(0));
|
||||
testCase.verifyEqual(ifc.DayOfWeek, DAYSOFWEEK(8));
|
||||
end
|
||||
|
||||
function test_all_vectorized(testCase)
|
||||
ifc = IFC(datetime(["28-Dec-2024"; "31-Dec-2023"; "31-Dec-2020"; "17-Jun-2003"; "17-Jun-2008"]));
|
||||
testCase.verifyEqual([ifc.Year], uint16([2024; 2023; 2020; 2003; 2008]));
|
||||
testCase.verifyEqual([ifc.Month], MONTHS([13; 14; 14; 6; 14]));
|
||||
testCase.verifyEqual([ifc.Day], uint8([26; 0; 0; 28; 0]));
|
||||
testCase.verifyEqual([ifc.DayOfWeek], DAYSOFWEEK([5; 7; 7; 0; 8]));
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user