1
- import static org .assertj .core .api .Assertions .assertThat ;
1
+ import org .junit .jupiter .api .DisplayName ;
2
+ import org .junit .jupiter .api .Tag ;
3
+ import org .junit .jupiter .api .Test ;
2
4
3
- import org .junit . Test ;
5
+ import static org .assertj . core . api . Assertions .* ;
4
6
5
7
public class LanguageListTest {
6
8
7
9
LanguageList languageList = new LanguageList ();
8
10
9
11
@ Test
12
+ @ Tag ("task:1" )
13
+ @ DisplayName ("The isEmpty method returns true when the list contains no languages" )
10
14
public void empty () {
11
15
assertThat (languageList .isEmpty ()).isTrue ();
12
16
}
13
17
14
18
@ Test
19
+ @ Tag ("task:2" )
20
+ @ DisplayName ("The isEmpty method returns false after adding a language to the list" )
15
21
public void nonEmpty () {
16
22
languageList .addLanguage ("Java" );
17
23
18
24
assertThat (languageList .isEmpty ()).isFalse ();
19
25
}
20
26
21
27
@ Test
22
- public void addOneLanguage () {
23
- languageList .addLanguage ("Java" );
24
-
25
- assertThat (languageList .containsLanguage ("Java" )).isTrue ();
26
- assertThat (languageList .containsLanguage ("Python" )).isFalse ();
27
- }
28
-
29
- @ Test
30
- public void addMultipleLanguages () {
31
- languageList .addLanguage ("Java" );
32
- languageList .addLanguage ("Ruby" );
33
- languageList .addLanguage ("C++" );
34
-
35
- assertThat (languageList .containsLanguage ("Java" )).isTrue ();
36
- assertThat (languageList .containsLanguage ("Ruby" )).isTrue ();
37
- assertThat (languageList .containsLanguage ("C++" )).isTrue ();
38
- assertThat (languageList .containsLanguage ("Python" )).isFalse ();
39
- }
40
-
41
- @ Test
28
+ @ Tag ("task:3" )
29
+ @ DisplayName ("The removeLanguage method correctly removes a language from the list" )
42
30
public void removeLanguage () {
43
31
languageList .addLanguage ("Java" );
44
- languageList .addLanguage ("Python" );
45
- languageList .addLanguage ("Ruby" );
46
-
47
- languageList .removeLanguage ("Python" );
32
+ languageList .removeLanguage ("Java" );
48
33
49
- assertThat (languageList .containsLanguage ("Java" )).isTrue ();
50
- assertThat (languageList .containsLanguage ("Python" )).isFalse ();
51
- assertThat (languageList .containsLanguage ("Ruby" )).isTrue ();
34
+ assertThat (languageList .isEmpty ()).isTrue ();
52
35
}
53
36
54
37
@ Test
38
+ @ Tag ("task:4" )
39
+ @ DisplayName ("The firstLanguage method returns the first language that was added to the list" )
55
40
public void firstLanguage () {
56
41
languageList .addLanguage ("Java" );
57
42
languageList .addLanguage ("Python" );
@@ -61,6 +46,8 @@ public void firstLanguage() {
61
46
}
62
47
63
48
@ Test
49
+ @ Tag ("task:5" )
50
+ @ DisplayName ("The count method returns the number of languages in the list" )
64
51
public void countThree () {
65
52
languageList .addLanguage ("Java" );
66
53
languageList .addLanguage ("Python" );
@@ -70,18 +57,42 @@ public void countThree() {
70
57
}
71
58
72
59
@ Test
60
+ @ Tag ("task:5" )
61
+ @ DisplayName ("The count method returns 0 when the list is empty" )
73
62
public void countEmpty () {
74
63
assertThat (languageList .count ()).isEqualTo (0 );
75
64
}
76
65
77
66
@ Test
67
+ @ Tag ("task:6" )
68
+ @ DisplayName ("The containsLanguage method returns true when the language is in the list" )
69
+ public void containsLanguage () {
70
+ languageList .addLanguage ("Java" );
71
+
72
+ assertThat (languageList .containsLanguage ("Java" )).isTrue ();
73
+ }
74
+
75
+ @ Test
76
+ @ Tag ("task:6" )
77
+ @ DisplayName ("The containsLanguage method returns false when the language is not in the list" )
78
+ public void doesNotContainLanguage () {
79
+ languageList .addLanguage ("Kotlin" );
80
+
81
+ assertThat (languageList .containsLanguage ("Java" )).isFalse ();
82
+ }
83
+
84
+ @ Test
85
+ @ Tag ("task:7" )
86
+ @ DisplayName ("The isExciting method returns true when the list contains Java" )
78
87
public void excitingLanguageListWithJava () {
79
88
languageList .addLanguage ("Java" );
80
89
81
90
assertThat (languageList .isExciting ()).isTrue ();
82
91
}
83
92
84
93
@ Test
94
+ @ Tag ("task:7" )
95
+ @ DisplayName ("The isExciting method returns true when the list contains Kotlin" )
85
96
public void excitingLanguageListWithKotlin () {
86
97
languageList .addLanguage ("Python" );
87
98
languageList .addLanguage ("Kotlin" );
@@ -90,6 +101,8 @@ public void excitingLanguageListWithKotlin() {
90
101
}
91
102
92
103
@ Test
104
+ @ Tag ("task:7" )
105
+ @ DisplayName ("The isExciting method returns false when the list contains neither Java nor Kotlin" )
93
106
public void boringLanguageList () {
94
107
languageList .addLanguage ("Python" );
95
108
languageList .addLanguage ("Ruby" );
0 commit comments