1include <../std.scad>
2
3
4module test_bosl_version() {
5 assert(is_vector(bosl_version())); // Returned value is a vector.
6 assert(len(bosl_version())==3); // of three numbers.
7 assert(bosl_version()[0]==2); // The major version is 2.
8 for (v=bosl_version()) {
9 assert(floor(v)==v); // All version parts are integers.
10 }
11}
12test_bosl_version();
13
14
15module test_bosl_version_num() {
16 assert(is_num(bosl_version_num()));
17 v = bosl_version();
18 assert(bosl_version_num() == v[0]+v[1]/100+v[2]/1000000);
19}
20test_bosl_version_num();
21
22
23module test_bosl_version_str() {
24 assert(is_string(bosl_version_str()));
25 v = bosl_version();
26 assert(bosl_version_str() == str(v[0],".",v[1],".",v[2]));
27}
28test_bosl_version_str();
29
30
31module test_bosl_required() {
32 bosl_required(2.000001);
33 bosl_required("2.0.1");
34 bosl_required([2,0,1]);
35}
36test_bosl_required();
37
38
39module test_version_to_list() {
40 assert(is_list(version_to_list(2.010001)));
41 assert(is_list(version_to_list("2.1.1")));
42 assert(is_list(version_to_list([2,1,1])));
43 assert(version_to_list(2.010001)==[2,1,1]);
44 assert(version_to_list("2.1.1")==[2,1,1]);
45 assert(version_to_list([2,1,1])==[2,1,1]);
46 assert(version_to_list(2.010035)==[2,1,35]);
47 assert(version_to_list(2.345678)==[2,34,5678]);
48 assert(version_to_list("2.34.5678")==[2,34,5678]);
49 assert(version_to_list([2,34,5678])==[2,34,5678]);
50 assert(version_to_list([2,34,56,78])==[2,34,56]);
51}
52test_version_to_list();
53
54
55module test_version_to_str() {
56 assert(is_string(version_to_str(2.010001)));
57 assert(is_string(version_to_str("2.1.1")));
58 assert(is_string(version_to_str([2,1,1])));
59 assert(version_to_str(2.010001)=="2.1.1");
60 assert(version_to_str("2.1.1")=="2.1.1");
61 assert(version_to_str([2,1,1])=="2.1.1");
62 assert(version_to_str(2.345678)=="2.34.5678");
63 assert(version_to_str("2.34.5678")=="2.34.5678");
64 assert(version_to_str([2,34,5678])=="2.34.5678");
65 assert(version_to_str([2,34,56,78])=="2.34.56");
66}
67test_version_to_str();
68
69
70module test_version_to_num() {
71 assert(is_num(version_to_num(2.010001)));
72 assert(is_num(version_to_num("2.1.1")));
73 assert(is_num(version_to_num([2,1,1])));
74 assert(version_to_num(2.010001)==2.010001);
75 assert(version_to_num("2.1.1")==2.010001);
76 assert(version_to_num([2,1,1])==2.010001);
77 assert(version_to_num(2.345678)==2.345678);
78 assert(version_to_num("2.34.5678")==2.345678);
79 assert(version_to_num([2,34,5678])==2.345678);
80 assert(version_to_num([2,34,56,78])==2.340056);
81}
82test_version_to_num();
83
84
85module test_version_cmp() {
86 function diversify(x) = [
87 version_to_num(x),
88 version_to_str(x),
89 version_to_list(x)
90 ];
91
92 module testvercmp(x,y,z) {
93 for (a = diversify(y)) {
94 for (b = diversify(x)) {
95 assert(version_cmp(a,b)>0);
96 }
97 for (b = diversify(y)) {
98 assert(version_cmp(a,b)==0);
99 }
100 for (b = diversify(z)) {
101 assert(version_cmp(a,b)<0);
102 }
103 }
104 }
105
106 testvercmp([2,1,33],[2,1,34],[2,1,35]);
107 testvercmp([2,2,1],[2,2,34],[2,2,67]);
108 testvercmp([2,2,34],[2,3,34],[2,4,34]);
109 testvercmp([2,3,34],[3,3,34],[4,3,34]);
110 testvercmp([2,3,34],[3,1,1],[4,1,1]);
111 testvercmp([2,1,1],[3,3,34],[4,1,1]);
112 testvercmp([2,1,1],[3,1,1],[4,3,34]);
113}
114test_version_cmp();
115
116
117// vim: expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap