1
+ package org .scm4j .commons .coords ;
2
+
3
+ import static org .junit .Assert .assertEquals ;
4
+ import static org .junit .Assert .fail ;
5
+
6
+ import org .junit .Test ;
7
+ import org .scm4j .commons .Version ;
8
+
9
+ import nl .jqno .equalsverifier .EqualsVerifier ;
10
+
11
+ public class CoordsMavenTest {
12
+
13
+ @ Test
14
+ public void testCoords () {
15
+ try {
16
+ new CoordsMaven ("" );
17
+ fail ();
18
+ } catch (IllegalArgumentException e ) {
19
+ }
20
+ try {
21
+ new CoordsMaven ("no-artifactId" );
22
+ fail ();
23
+ } catch (IllegalArgumentException e ) {
24
+ }
25
+ }
26
+
27
+ @ Test
28
+ public void testComment () {
29
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:12.13" ).getComment ());
30
+ assertEquals ("#" , new CoordsMaven ("com.myproject:c1:12.13#" ).getComment ());
31
+ assertEquals (" # " , new CoordsMaven (" com.myproject:c1:12.13 # " ).getComment ());
32
+ assertEquals ("#...$ #" , new CoordsMaven ("com.myproject:c1:12.13#...$ #" ).getComment ());
33
+ }
34
+
35
+ @ Test
36
+ public void testExtension () {
37
+ assertEquals ("ext" , new CoordsMaven ("com.myproject:c1:ext:12.13" ).getExtension ());
38
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:12.13" ).getExtension ());
39
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1::12.13" ).getExtension ());
40
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:::12.13" ).getExtension ());
41
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1" ).getExtension ());
42
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:" ).getExtension ());
43
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1::" ).getExtension ());
44
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:::" ).getExtension ());
45
+ assertEquals ("ext" , new CoordsMaven ("com.myproject:c1:ext:class:12.13" ).getExtension ());
46
+ assertEquals ("ext@" , new CoordsMaven ("com.myproject:c1:ext@:12.13#qw" ).getExtension ());
47
+ }
48
+
49
+ @ Test
50
+ public void testClassifier () {
51
+ assertEquals ("class" , new CoordsMaven ("com.myproject:c1:ext:class:12.13 # comment" ).getClassifier ());
52
+ assertEquals ("class" , new CoordsMaven ("com.myproject:c1::class:12.13 # comment" ).getClassifier ());
53
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:12.13 # comment" ).getClassifier ());
54
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:ext:12.13 # comment" ).getClassifier ());
55
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:ext::12.13 # comment" ).getClassifier ());
56
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:ext:: # comment" ).getClassifier ());
57
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:ext: # comment" ).getClassifier ());
58
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:ext # comment" ).getClassifier ());
59
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:12.13 # comment" ).getClassifier ());
60
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1::12.13 # comment" ).getClassifier ());
61
+ assertEquals ("" , new CoordsMaven ("com.myproject:c1:::12.13 # comment" ).getClassifier ());
62
+ }
63
+
64
+ @ Test
65
+ public void testToSting () {
66
+ assertEquals ("com.myproject:c1:ext:class:1.0.0 # comment" ,
67
+ new CoordsMaven ("com.myproject:c1:ext:class:1.0.0 # comment" ).toString ());
68
+ }
69
+
70
+ @ Test
71
+ public void testGroupId () {
72
+ assertEquals ("com.myproject" , new CoordsMaven ("com.myproject:c1:1.0.0" ).getGroupId ());
73
+ assertEquals ("com.myproject" , new CoordsMaven ("com.myproject:c1:12.13" ).getGroupId ());
74
+ assertEquals (" com.myproject" , new CoordsMaven (" com.myproject:c1:12.13" ).getGroupId ());
75
+ }
76
+
77
+ @ Test
78
+ public void testArtifactId () {
79
+ assertEquals ("c1" , new CoordsMaven ("com.myproject:c1:1.0.0" ).getArtifactId ());
80
+ assertEquals ("c1" , new CoordsMaven ("com.myproject:c1" ).getArtifactId ());
81
+ assertEquals ("c1" , new CoordsMaven ("com.myproject:c1:" ).getArtifactId ());
82
+ assertEquals ("c1" , new CoordsMaven ("com.myproject:c1::" ).getArtifactId ());
83
+ assertEquals ("c1" , new CoordsMaven ("com.myproject:c1:::" ).getArtifactId ());
84
+ assertEquals ("c1" , new CoordsMaven (" com.myproject:c1" ).getArtifactId ());
85
+ }
86
+
87
+ @ Test
88
+ public void testVersion () {
89
+ assertEquals (new Version ("1.0.0" ), new CoordsMaven ("com.myproject:c1:1.0.0" ).getVersion ());
90
+ assertEquals (new Version ("1.0.0" ), new CoordsMaven ("com.myproject:c1::1.0.0#comment" ).getVersion ());
91
+ assertEquals (new Version ("1.0.0" ), new CoordsMaven ("com.myproject:c1:::1.0.0#comment" ).getVersion ());
92
+ assertEquals (new Version ("" ), new CoordsMaven ("com.myproject:c1 #comment" ).getVersion ());
93
+ assertEquals (new Version ("" ), new CoordsMaven ("com.myproject:c1: #comment" ).getVersion ());
94
+ assertEquals (new Version ("" ), new CoordsMaven ("com.myproject:c1:: #comment" ).getVersion ());
95
+ assertEquals (new Version ("" ), new CoordsMaven ("com.myproject:c1::: #comment" ).getVersion ());
96
+ assertEquals (new Version ("-SNAPSHOT" ), new CoordsMaven ("com.myproject:c1:ext:class:-SNAPSHOT #comment" ).getVersion ());
97
+ }
98
+
99
+ @ Test
100
+ public void testEqualsAndHashCode () {
101
+ EqualsVerifier
102
+ .forClass (CoordsMaven .class )
103
+ .withOnlyTheseFields ("coordsStringNoComment" )
104
+ .usingGetClass ()
105
+ .verify ();
106
+ }
107
+
108
+ @ Test
109
+ public void testVersionChange () {
110
+ assertEquals ("com.myproject:c1:12.13" , new CoordsMaven ("com.myproject:c1:1.0.0" ).toString ("12.13" ));
111
+ assertEquals ("com.myproject:c1::12.13#comment" , new CoordsMaven ("com.myproject:c1::1.0.0#comment" ).toString ("12.13" ));
112
+ assertEquals ("com.myproject:c1:::12.13#comment" , new CoordsMaven ("com.myproject:c1:::1.0.0#comment" ).toString ("12.13" ));
113
+ assertEquals ("com.myproject:c1:12.13 #comment" , new CoordsMaven ("com.myproject:c1 #comment" ).toString ("12.13" ));
114
+ assertEquals ("com.myproject:c1:12.13 #comment" , new CoordsMaven ("com.myproject:c1: #comment" ).toString ("12.13" ));
115
+ assertEquals ("com.myproject:c1::12.13 #comment" , new CoordsMaven ("com.myproject:c1:: #comment" ).toString ("12.13" ));
116
+ assertEquals ("com.myproject:c1:::12.13 #comment" , new CoordsMaven ("com.myproject:c1::: #comment" ).toString ("12.13" ));;
117
+ assertEquals ("com.myproject:c1:ext:class:12.13 #comment" , new CoordsMaven ("com.myproject:c1:ext:class:-SNAPSHOT #comment" ).toString ("12.13" ));
118
+ }
119
+
120
+ @ Test
121
+ public void testToStringNoComment () {
122
+ assertEquals ("com.myproject:c1:12.13" , new CoordsMaven ("com.myproject:c1:12.13" ).toStringNoComment ());
123
+ assertEquals ("com.myproject:c1:12.13" , new CoordsMaven ("com.myproject:c1:12.13#" ).toStringNoComment ());
124
+ assertEquals (" com.myproject:c1:12.13" , new CoordsMaven (" com.myproject:c1:12.13 # " ).toStringNoComment ());
125
+ assertEquals ("com.myproject:c1:12.13" , new CoordsMaven ("com.myproject:c1:12.13#...$ #" ).toStringNoComment ());
126
+ }
127
+
128
+ }
0 commit comments