1:
2:
3:
4:
5:
6:
7: (use gauche.test)
8: (test-start "gauche.version")
9:
10: (use gauche.version)
11: (test-module 'gauche.version)
12:
13: (test* "relnum-compare" '(-1 0 1)
14: (list (relnum-compare "1" "3")
15: (relnum-compare "1" "1")
16: (relnum-compare "3" "1")))
17:
18: (test* "relnum-compare" '(-1 0 1)
19: (list (relnum-compare "1b" "2a")
20: (relnum-compare "1b" "1b")
21: (relnum-compare "3a" "1b")))
22:
23: (test* "relnum-compare" '(-1 0 1)
24: (list (relnum-compare "b" "1")
25: (relnum-compare "b" "b")
26: (relnum-compare "1" "b")))
27:
28: (define (vercmp x y r)
29: (test (format #f "version-compare ~a ~a" x y)
30: (list r (- r))
31: (lambda ()
32: (list (version-compare x y)
33: (version-compare y x)))))
34:
35: (vercmp "1" "1" 0)
36: (vercmp "2.3" "2.3" 0)
37: (vercmp "2.34.5b-patch3" "2.34.5b-patch3" 0)
38: (vercmp "20020202-1" "20020202-1" 0)
39:
40: (vercmp "1" "1.0" -1)
41: (vercmp "1.0" "1.1" -1)
42: (vercmp "1.1" "1.1.1" -1)
43: (vercmp "1.1" "1.1.1.1" -1)
44: (vercmp "1.0.1" "1.1" -1)
45: (vercmp "1.1.1" "1.1.2" -1)
46: (vercmp "1.1.2" "1.2" -1)
47: (vercmp "1.2" "1.11" -1)
48:
49: (vercmp "1.2.3" "1.2.3-1" -1)
50: (vercmp "1.2.3-1" "1.2.3-10" -1)
51: (vercmp "1.2.3-1" "1.2.4" -1)
52: (vercmp "1.2.3" "1.2.3a" -1)
53: (vercmp "1.2.3a" "1.2.3b" -1)
54: (vercmp "1.2.3a" "1.2.12" -1)
55:
56: (vercmp "1.2_rc0" "1.2_rc1" -1)
57: (vercmp "1.2_rc1" "1.2" -1)
58: (vercmp "1.2" "1.2-patch1" -1)
59: (vercmp "1.2-patch1" "1.2-patch2" -1)
60: (vercmp "1.2_pre0" "1.2-patch1" -1)
61: (vercmp "1.1-patch112" "1.2_alpha" -1)
62:
63: (vercmp "19990312" "20000801" -1)
64: (vercmp "20010101-4" "20010101-13" -1)
65: (vercmp "20011125-2.1" "20011213-2.1" -1)
66: (vercmp "20011213-1.4" "20011213-1.12" -1)
67: (vercmp "20011213-1.12" "20011213-3.1" -1)
68: (vercmp "20011213-1.12_alpha0" "20011213-1.12" -1)
69: (vercmp "20011213-1.12_alpha0" "20011213-1.12.1" -1)
70:
71: (test* "version=?" #t (version=? "1.1.12" "1.1.12"))
72: (test* "version=?" #f (version=? "1.1.12" "1.1.21"))
73: (test* "version<?" #t (version<? "1.1.12" "1.2"))
74: (test* "version<?" #f (version<? "1.1.12" "1.1.12"))
75: (test* "version<?" #f (version<? "1.1.2" "1.1.1"))
76: (test* "version<=?" #t (version<=? "1.1.12" "1.2"))
77: (test* "version<=?" #t (version<=? "1.1.12" "1.1.12"))
78: (test* "version<=?" #f (version<=? "1.1.2" "1.1.1"))
79: (test* "version>?" #f (version>? "1.1.12" "1.2"))
80: (test* "version>?" #f (version>? "1.1.12" "1.1.12"))
81: (test* "version>?" #t (version>? "1.1.2" "1.1.1"))
82: (test* "version>=?" #f (version>=? "1.1.12" "1.2"))
83: (test* "version>=?" #t (version>=? "1.1.12" "1.1.12"))
84: (test* "version>=?" #t (version>=? "1.1.2" "1.1.1"))
85:
86: (test-end)
87:
88:
89:
90: