Add stanza about packaging copyright.
[debian/mimetic.git] / test / t.version.h
1 #ifndef _T_VERSION_H_
2 #define _T_VERSION_H_
3 #include <mimetic/version.h>
4 #include "cutee.h"
5
6
7 namespace mimetic 
8 {
9
10 class TEST_CLASS( test_version )
11 {
12     Version v001, v01, v010, v12, v120, v123, v345;
13 public:
14     test_version()
15     : v001("0.0.1"), v01("0.1"), v010("0.1.0"),v12("1.2"), 
16       v120("1.2.0"), v123("1.2.3"), v345("3.4.5")
17     {
18     }
19     void TEST_FUNCTION( ctor )
20     {
21         TEST_ASSERT_EQUALS_P(v001.maj(), 0);
22         TEST_ASSERT_EQUALS_P(v001.min(), 0);
23         TEST_ASSERT_EQUALS_P(v001.build(), 1);
24         
25         TEST_ASSERT_EQUALS_P(v01.maj(), 0);
26         TEST_ASSERT_EQUALS_P(v01.min(), 1);
27         TEST_ASSERT_EQUALS_P(v01.build(), 0);
28
29         TEST_ASSERT_EQUALS_P(v010.maj(), 0);
30         TEST_ASSERT_EQUALS_P(v010.min(), 1);
31         TEST_ASSERT_EQUALS_P(v010.build(), 0);
32
33         TEST_ASSERT_EQUALS_P(v123.maj(), 1);
34         TEST_ASSERT_EQUALS_P(v123.min(), 2);
35         TEST_ASSERT_EQUALS_P(v123.build(), 3);
36     }
37     void TEST_FUNCTION( eq )
38     {
39
40         TEST_ASSERT_EQUALS_P(v01, v01);
41         TEST_ASSERT_EQUALS_P(v01, v010);
42
43         TEST_ASSERT(v001 <= v001);
44         TEST_ASSERT(v001 <= v01);
45         TEST_ASSERT(v001 <= v345);
46         TEST_ASSERT(v123 <= v345);
47
48         TEST_ASSERT(v123 >= v123);
49         TEST_ASSERT(v123 >= v120);
50         TEST_ASSERT(v123 >= v12);
51         TEST_ASSERT(v123 >= v001);
52         TEST_ASSERT(v345 >= v123);
53     }
54     void TEST_FUNCTION( diff )
55     {
56         TEST_ASSERT_DIFFERS(v123, v345);
57         TEST_ASSERT_DIFFERS(v001, v12);
58         TEST_ASSERT_DIFFERS(v001, v01);
59         TEST_ASSERT_DIFFERS(v001, v123);
60     }
61     void TEST_FUNCTION( less )
62     {
63         TEST_ASSERT(v001 < v01);
64         TEST_ASSERT(v001 < v010);
65         TEST_ASSERT(v12 < v123);
66         TEST_ASSERT(v12 < v345);
67         TEST_ASSERT(v123 < v345);
68     }
69     void TEST_FUNCTION( greater )
70     {
71         TEST_ASSERT(v345 > v123);
72         TEST_ASSERT(v345 > v12);
73         TEST_ASSERT(v123 > v12);
74         TEST_ASSERT(v123 > v120);
75         TEST_ASSERT(v12 > v010);
76         TEST_ASSERT(v12 > v01);
77         TEST_ASSERT(v12 > v001);
78     }
79 };
80
81 }
82
83 #endif