This repository was archived by the owner on May 14, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathversionstring_test.go
More file actions
48 lines (42 loc) · 1.82 KB
/
Copy pathversionstring_test.go
File metadata and controls
48 lines (42 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package main
import (
"testing"
"time"
)
type parsePairs struct {
toParse string
expectedResult payloadVersion
}
func TestVersionParsing(t *testing.T) {
testData := []parsePairs{
{"766.4.1", payloadVersion{build: 766, branch: 4, patch: 1, timestamp: time.Unix(0, 0).UTC()}},
{"0.1.2", payloadVersion{build: 0, branch: 1, patch: 2, timestamp: time.Unix(0, 0).UTC()}},
{"11111111.22222222.33333333", payloadVersion{build: 11111111, branch: 22222222, patch: 33333333, timestamp: time.Unix(0, 0).UTC()}},
{"802.3.0+2015-01-01-0101", payloadVersion{build: 802, branch: 3, patch: 0, timestamp: time.Unix(1420074060, 0).UTC()}},
{"802.1.2+2015-12-31-2359", payloadVersion{build: 802, branch: 1, patch: 2, timestamp: time.Unix(1451606340, 0).UTC()}},
}
for _, datum := range testData {
parsed, err := parseVersionString(datum.toParse)
if err != nil {
t.Errorf("While parsing '%v': %v", datum.toParse, err.Error())
}
if parsed != datum.expectedResult {
t.Errorf("%v != %v", parsed, datum.expectedResult)
}
}
}
func TestVersionFormatting(t *testing.T) {
testData := []parsePairs{
{"766.4.1", payloadVersion{build: 766, branch: 4, patch: 1, timestamp: time.Unix(0, 0).UTC()}},
{"0.1.2", payloadVersion{build: 0, branch: 1, patch: 2, timestamp: time.Unix(0, 0).UTC()}},
{"11111111.22222222.33333333", payloadVersion{build: 11111111, branch: 22222222, patch: 33333333, timestamp: time.Unix(0, 0).UTC()}},
{"802.3.0+2015-01-01-0101", payloadVersion{build: 802, branch: 3, patch: 0, timestamp: time.Unix(1420074060, 0).UTC()}},
{"802.1.2+2015-12-31-2359", payloadVersion{build: 802, branch: 1, patch: 2, timestamp: time.Unix(1451606340, 0).UTC()}},
}
for _, datum := range testData {
formatted := datum.expectedResult.String()
if formatted != datum.toParse {
t.Errorf("%v != %v", formatted, datum.toParse)
}
}
}