Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
libmtime
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
icon-libraries
libmtime
Commits
b8da2a95
Commit
b8da2a95
authored
6 years ago
by
Jan Frederik Engels
Browse files
Options
Downloads
Patches
Plain Diff
Expand testing of mtime_timedelta routines
As a first step, generate tests from the example code in
ac66aeae
.
parent
5bcba659
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
test/mtime_timedelta_test.c
+43
-0
43 additions, 0 deletions
test/mtime_timedelta_test.c
test/mtime_timedelta_test.h
+1
-0
1 addition, 0 deletions
test/mtime_timedelta_test.h
with
44 additions
and
0 deletions
test/mtime_timedelta_test.c
+
43
−
0
View file @
b8da2a95
...
@@ -689,6 +689,17 @@ START_TEST(test_event_at_end_of_month)
...
@@ -689,6 +689,17 @@ START_TEST(test_event_at_end_of_month)
}
while
(
compareDatetime
(
model_time
,
stop_date
)
<=
0
);
}
while
(
compareDatetime
(
model_time
,
stop_date
)
<=
0
);
}
}
END_TEST
END_TEST
START_TEST
(
test_getTimeDeltaFromDateTime
)
{
// These test are taken from ac66aeaef2dde828aa31b63f88076070a8282b49
assertGetTimeDeltaFromDateTime
(
"1979-03-01T00:00:00.000"
,
"1979-01-01T01:00:00.000"
,
"P01M27DT23H"
);
assertGetTimeDeltaFromDateTime
(
"1979-07-01T00:00:00.000"
,
"1979-01-01T01:00:00.000"
,
"P05M29DT23H"
);
assertGetTimeDeltaFromDateTime
(
"1979-12-01T00:00:00.000"
,
"1979-01-01T01:00:00.000"
,
"P10M29DT23H"
);
assertGetTimeDeltaFromDateTime
(
"1980-01-01T00:00:00.000"
,
"1979-01-01T01:00:00.000"
,
"P11M30DT23H"
);
}
END_TEST
static
void
setup_ProlepticGregorian
(
void
)
static
void
setup_ProlepticGregorian
(
void
)
{
{
initCalendar
(
PROLEPTIC_GREGORIAN
);
initCalendar
(
PROLEPTIC_GREGORIAN
);
...
@@ -722,6 +733,7 @@ void add_mtime_timedelta_test_to_suite(Suite* suite)
...
@@ -722,6 +733,7 @@ void add_mtime_timedelta_test_to_suite(Suite* suite)
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_ProlepticGregorian_2
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_ProlepticGregorian_2
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_ProlepticGregorian_3
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_ProlepticGregorian_3
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_highDeltas
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_timeDeltaToJulianDelta_highDeltas
);
tcase_add_test
(
tcase_ProlepticGregorian
,
test_getTimeDeltaFromDateTime
);
TCase
*
tcase_YearOf365Days
=
tcase_create
(
"mtime_time_test_YearOf365Days"
);
TCase
*
tcase_YearOf365Days
=
tcase_create
(
"mtime_time_test_YearOf365Days"
);
suite_add_tcase
(
suite
,
tcase_YearOf365Days
);
suite_add_tcase
(
suite
,
tcase_YearOf365Days
);
...
@@ -856,3 +868,34 @@ void assertTimeDeltaToJulianDeltaWithoutExpectations(const char* timedelta_strin
...
@@ -856,3 +868,34 @@ void assertTimeDeltaToJulianDeltaWithoutExpectations(const char* timedelta_strin
deallocateDateTime
(
datetime
);
deallocateDateTime
(
datetime
);
deallocateJulianDelta
(
juliandelta
);
deallocateJulianDelta
(
juliandelta
);
}
}
// FIXME: Fill with content
void
assertJulianDeltaToTimeDelta
()
{
}
// It seems we need this tested too.
void
assertGetTimeDeltaFromDateTime
(
const
char
*
dt1_string
,
const
char
*
dt2_string
,
const
char
*
expected_td_string
)
{
struct
_datetime
*
dt1
=
newDateTime
(
dt1_string
);
ck_assert
(
dt1
!=
NULL
);
struct
_datetime
*
dt2
=
newDateTime
(
dt2_string
);
ck_assert
(
dt2
!=
NULL
);
struct
_timedelta
td
;
void
*
err
=
getTimeDeltaFromDateTime
(
dt1
,
dt2
,
&
td
);
ck_assert
(
err
!=
NULL
);
struct
_timedelta
*
expected_td
=
newTimeDelta
(
expected_td_string
);
ck_assert
(
expected_td
!=
NULL
);
ck_assert
(
compareTimeDelta
(
&
td
,
expected_td
)
==
equal_to
);
deallocateDateTime
(
dt1
);
deallocateDateTime
(
dt2
);
deallocateTimeDelta
(
expected_td
);
}
This diff is collapsed.
Click to expand it.
test/mtime_timedelta_test.h
+
1
−
0
View file @
b8da2a95
...
@@ -13,4 +13,5 @@ void assertInvalidTimeDelta(const char* input_string);
...
@@ -13,4 +13,5 @@ void assertInvalidTimeDelta(const char* input_string);
void
assertTimeDeltaToJulianDelta
(
const
char
*
timedelta_string
,
const
char
*
base_datetime_string
,
char
expected_jd_sign
,
int64_t
expected_jd_day
,
int64_t
expected_jd_ms
);
void
assertTimeDeltaToJulianDelta
(
const
char
*
timedelta_string
,
const
char
*
base_datetime_string
,
char
expected_jd_sign
,
int64_t
expected_jd_day
,
int64_t
expected_jd_ms
);
void
assertTimeDeltaToJulianDeltaWithoutExpectations
(
const
char
*
timedelta_string
,
const
char
*
base_datetime_string
,
char
expected_jd_sign
);
void
assertTimeDeltaToJulianDeltaWithoutExpectations
(
const
char
*
timedelta_string
,
const
char
*
base_datetime_string
,
char
expected_jd_sign
);
void
assertGetTimeDeltaFromDateTime
(
const
char
*
dt1_string
,
const
char
*
dt2_string
,
const
char
*
expected_td_string
);
#endif
#endif
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment