Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(128)

Delta Between Two Patch Sets: version/version_test.go

Issue 5901058: cmd/juju: working bootstrap and destroy commands
Left Patch Set: cmd/juju: working bootstrap and destroy commands Created 13 years ago
Right Patch Set: cmd/juju: working bootstrap and destroy commands Created 12 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « version/version.go ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 package version_test
2
3 import (
4 "."
5 . "launchpad.net/gocheck"
6 "testing"
7 )
8
9 type suite struct{}
10
11 var _ = Suite(suite{})
12
13 func Test(t *testing.T) {
14 TestingT(t)
15 }
16
17 var cmpTests = []struct {
18 v1, v2 string
19 less bool
20 eq bool
21 }{
22 {"1.0.0", "1.0.0", false, true},
23 {"01.0.0", "1.0.0", false, true},
24 {"10.0.0", "9.0.0", false, false},
25 {"1.0.0", "1.0.1", true, false},
26 {"1.0.1", "1.0.0", false, false},
27 {"1.0.0", "1.1.0", true, false},
28 {"1.1.0", "1.0.0", false, false},
29 {"1.0.0", "2.0.0", true, false},
30 {"2.0.0", "1.0.0", false, false},
31 }
32
33 func (suite) TestComparison(c *C) {
34 for i, test := range cmpTests {
35 c.Logf("test %d", i)
36 v1, err := version.Parse(test.v1)
37 c.Assert(err, IsNil)
38 v2, err := version.Parse(test.v2)
39 c.Assert(err, IsNil)
40 less := v1.Less(v2)
41 gt := v2.Less(v1)
42 c.Check(less, Equals, test.less)
43 if test.eq {
44 c.Check(gt, Equals, false)
45 } else {
46 c.Check(gt, Equals, !test.less)
47 }
48 }
49 }
50
51 var parseTests = []struct {
52 v string
53 err string
54 expect version.Version
55 dev bool
56 }{
57 {
58 v: "0.0.0",
59 dev: false,
60 },
61 {
62 v: "1.0.0",
63 expect: version.Version{Major: 1},
64 dev: true,
65 },
66 {
67 v: "0.1.0",
68 expect: version.Version{Minor: 1},
69 dev: true,
70 },
71 {
72 v: "0.0.1",
73 expect: version.Version{Patch: 1},
74 dev: true,
75 },
76 {
77 v: "10.234.3456",
78 expect: version.Version{Major: 10, Minor: 234, Patch: 3456},
79 dev: false,
80 },
81 {
82 v: "1234567890.2.1",
83 err: "invalid version.*",
84 },
85 {
86 v: "0.2..1",
87 err: "invalid version.*",
88 },
89 }
90
91 func (suite) TestParse(c *C) {
92 for i, test := range parseTests {
93 c.Logf("test %d", i)
94 v, err := version.Parse(test.v)
95 if test.err != "" {
96 c.Assert(err, ErrorMatches, test.err)
97 } else {
98 c.Assert(err, IsNil)
99 c.Assert(v, Equals, test.expect)
100 c.Check(v.IsDev(), Equals, test.dev)
101 }
102 }
103 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b