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