1
1
package org .scalasteward .core .data
2
2
3
- import eu .timepit .refined .types .numeric .NonNegBigInt
4
- import eu .timepit .refined .types .string .NonEmptyString
5
3
import munit .FunSuite
6
4
import org .scalasteward .core .data .SemVer .Change
7
5
8
6
class SemVerTest extends FunSuite {
9
- implicit val toNonNegBigInt : Int => NonNegBigInt =
10
- i => NonNegBigInt .unsafeFrom(BigInt (i))
11
-
12
- implicit val toNonEmptyString : String => NonEmptyString =
13
- NonEmptyString .unsafeFrom
14
-
15
7
test(" parse: simple examples" ) {
16
- assertEquals(SemVer .parse(" 1.2.3" ), Some (SemVer (1 , 2 , 3 , None , None )))
17
- assertEquals(SemVer .parse(" 0.0.0" ), Some (SemVer (0 , 0 , 0 , None , None )))
18
- assertEquals(SemVer .parse(" 123.456.789" ), Some (SemVer (123 , 456 , 789 , None , None )))
8
+ assertEquals(SemVer .parse(" 1.2.3" ), Some (SemVer (" 1 " , " 2 " , " 3 " )))
9
+ assertEquals(SemVer .parse(" 0.0.0" ), Some (SemVer (" 0 " , " 0 " , " 0 " )))
10
+ assertEquals(SemVer .parse(" 123.456.789" ), Some (SemVer (" 123" , " 456" , " 789" )))
19
11
}
20
12
21
13
test(" parse: with pre-release identifier" ) {
22
- assertEquals(SemVer .parse(" 1.0.0-SNAP5" ), Some (SemVer (1 , 0 , 0 , Some (" SNAP5" ), None )))
23
- assertEquals(SemVer .parse(" 9.10.100-0.3.7" ), Some (SemVer (9 , 10 , 100 , Some (" 0.3.7" ), None )))
14
+ assertEquals(SemVer .parse(" 1.0.0-SNAP5" ), Some (SemVer (" 1 " , " 0 " , " 0 " , Some (" SNAP5" ))))
15
+ assertEquals(SemVer .parse(" 9.10.100-0.3.7" ), Some (SemVer (" 9 " , " 10 " , " 100" , Some (" 0.3.7" ))))
24
16
}
25
17
26
18
test(" parse: empty pre-release identifier" ) {
@@ -30,11 +22,11 @@ class SemVerTest extends FunSuite {
30
22
test(" parse: with build metadata" ) {
31
23
assertEquals(
32
24
SemVer .parse(" 1.0.0+20130313144700" ),
33
- Some (SemVer (1 , 0 , 0 , None , Some (" 20130313144700" )))
25
+ Some (SemVer (" 1 " , " 0 " , " 0 " , None , Some (" 20130313144700" )))
34
26
)
35
27
assertEquals(
36
28
SemVer .parse(" 1.0.0-beta+exp.sha.5114f85" ),
37
- Some (SemVer (1 , 0 , 0 , Some (" beta" ), Some (" exp.sha.5114f85" )))
29
+ Some (SemVer (" 1 " , " 0 " , " 0 " , Some (" beta" ), Some (" exp.sha.5114f85" )))
38
30
)
39
31
}
40
32
@@ -56,38 +48,23 @@ class SemVerTest extends FunSuite {
56
48
}
57
49
58
50
test(" getChange" ) {
59
- assertEquals(
60
- SemVer .getChange(SemVer (1 , 3 , 4 , None , None ), SemVer (2 , 1 , 2 , None , None )),
61
- Some (Change .Major )
62
- )
63
- assertEquals(
64
- SemVer .getChange(SemVer (2 , 3 , 4 , None , None ), SemVer (2 , 5 , 2 , None , None )),
65
- Some (Change .Minor )
66
- )
67
- assertEquals(
68
- SemVer .getChange(
69
- SemVer (2 , 3 , 4 , Some (" SNAP1" ), None ),
70
- SemVer (2 , 3 , 4 , Some (" SNAP2" ), None )
51
+ List (
52
+ (SemVer (" 1" , " 3" , " 4" ), SemVer (" 2" , " 1" , " 2" ), Some (Change .Major )),
53
+ (SemVer (" 2" , " 3" , " 4" ), SemVer (" 2" , " 5" , " 2" ), Some (Change .Minor )),
54
+ (
55
+ SemVer (" 2" , " 3" , " 4" , Some (" SNAP1" )),
56
+ SemVer (" 2" , " 3" , " 4" , Some (" SNAP2" )),
57
+ Some (Change .PreRelease )
71
58
),
72
- Some (Change .PreRelease )
73
- )
74
- assertEquals(
75
- SemVer .getChange(
76
- SemVer (2 , 3 , 4 , Some (" M1" ), Some (" 1" )),
77
- SemVer (2 , 3 , 4 , Some (" M1" ), Some (" 2" ))
78
- ),
79
- Some (Change .BuildMetadata )
80
- )
81
- assertEquals(
82
- SemVer .getChange(
83
- SemVer (2 , 3 , 4 , Some (" M1" ), None ),
84
- SemVer (2 , 3 , 4 , Some (" M1" ), None )
59
+ (
60
+ SemVer (" 2" , " 3" , " 4" , Some (" M1" ), Some (" 1" )),
61
+ SemVer (" 2" , " 3" , " 4" , Some (" M1" ), Some (" 2" )),
62
+ Some (Change .BuildMetadata )
85
63
),
86
- None
87
- )
88
- assertEquals(
89
- SemVer .getChange(SemVer (0 , 20 , 0 , Some (" M4" ), None ), SemVer (0 , 20 , 3 , None , None )),
90
- Some (Change .PreRelease )
91
- )
64
+ (SemVer (" 2" , " 3" , " 4" , Some (" M1" )), SemVer (" 2" , " 3" , " 4" , Some (" M1" )), None ),
65
+ (SemVer (" 0" , " 20" , " 0" , Some (" M4" )), SemVer (" 0" , " 20" , " 3" ), Some (Change .PreRelease ))
66
+ ).foreach { case (from, to, result) =>
67
+ assertEquals(SemVer .getChange(from, to), result)
68
+ }
92
69
}
93
70
}
0 commit comments