7006bd8d23f85e181d5d8e66f45b1887abc09bfa
[libacl.git] / test / utc_arithmetic.cpp
1 /*******************************************************
2  *  Unit test for the UTC class
3  *
4  * test UTC add and subtract expressions
5  ******************************************************
6  *
7  */
8
9 #include "date.h"
10 #include <assert.h>
11
12 int main()
13 {
14    date   d0(9, 6, 2019);
15    hour   t0;
16    UTC    period0(date(5, 3, 6), t0);
17
18    UTC u0(d0, t0);
19    UTC d1;
20    UTC d2;
21    d2 = u0 + period0;
22
23    std::cout << u0 << " + " << period0 << " = " << d2 << "\n";
24    assert(d2 == UTC(date(14, 9, 2025), t0));
25
26    UTC    period1(date(30, 11, 3), t0);   // 3 years, 11 months and 30 days
27    d2 = u0 + period1;
28    std::cout << u0 << " + " << period1 << " = " << d2 << "\n";
29    assert(d2 == UTC(date(8, 6, 2023), t0));
30
31    d1 = UTC(date(22, 7, 2019), t0);
32    std::cout << d1 << " += " << period1 << " = ";
33    d1 += period1;
34    std::cout << d1 << "\n";
35    std::cout.flush();
36    assert(d1 == UTC(date(22, 7, 2023), t0));
37
38    return 0;
39 }
40