2
2
3
3
from custom_set import CustomSet
4
4
5
-
6
5
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.3.0
7
6
7
+
8
8
class CustomSetTest (unittest .TestCase ):
9
9
def test_sets_with_no_elements_are_empty (self ):
10
10
sut = CustomSet ()
@@ -14,69 +14,69 @@ def test_sets_with_elements_are_not_empty(self):
14
14
sut = CustomSet ([1 ])
15
15
self .assertIs (sut .isempty (), False )
16
16
17
- def test_empty_set_contains_nothing (self ):
17
+ def test_nothing_is_contained_in_an_empty_set (self ):
18
18
sut = CustomSet ()
19
19
self .assertNotIn (1 , sut )
20
20
21
- def test_set_contains_when_element_in_set (self ):
22
- sut = CustomSet ([1 ])
21
+ def test_when_the_element_is_in_the_set (self ):
22
+ sut = CustomSet ([1 , 2 , 3 ])
23
23
self .assertIn (1 , sut )
24
24
25
- def test_set_does_not_contains_when_element_not_in_set (self ):
25
+ def test_when_the_element_is_not_in_the_set (self ):
26
26
sut = CustomSet ([1 , 2 , 3 ])
27
27
self .assertNotIn (4 , sut )
28
28
29
- def test_empty_set_is_subset_of_another_empty_set (self ):
29
+ def test_empty_set_is_a_subset_of_another_empty_set (self ):
30
30
set1 = CustomSet ()
31
31
set2 = CustomSet ()
32
32
self .assertIs (set1 .issubset (set2 ), True )
33
33
34
- def test_empty_set_is_subset_of_non_empty_set (self ):
34
+ def test_empty_set_is_a_subset_of_non_empty_set (self ):
35
35
set1 = CustomSet ()
36
36
set2 = CustomSet ([1 ])
37
37
self .assertIs (set1 .issubset (set2 ), True )
38
38
39
- def test_non_empty_set_is_not_subet_of_empty_set (self ):
39
+ def test_non_empty_set_is_not_a_subset_of_empty_set (self ):
40
40
set1 = CustomSet ([1 ])
41
41
set2 = CustomSet ()
42
42
self .assertIs (set1 .issubset (set2 ), False )
43
43
44
- def test_set_is_subset_of_set_with_exact_same_elements (self ):
44
+ def test_set_is_a_subset_of_set_with_exact_same_elements (self ):
45
45
set1 = CustomSet ([1 , 2 , 3 ])
46
46
set2 = CustomSet ([1 , 2 , 3 ])
47
47
self .assertIs (set1 .issubset (set2 ), True )
48
48
49
- def test_set_is_subset_of_larger_set_with_same_elements (self ):
49
+ def test_set_is_a_subset_of_larger_set_with_same_elements (self ):
50
50
set1 = CustomSet ([1 , 2 , 3 ])
51
51
set2 = CustomSet ([4 , 1 , 2 , 3 ])
52
52
self .assertIs (set1 .issubset (set2 ), True )
53
53
54
- def test_set_not_subset_of_set_that_does_not_contain_its_elements (self ):
54
+ def test_set_is_not_a_subset_of_set_that_does_not_contain_its_elements (self ):
55
55
set1 = CustomSet ([1 , 2 , 3 ])
56
56
set2 = CustomSet ([4 , 1 , 3 ])
57
57
self .assertIs (set1 .issubset (set2 ), False )
58
58
59
- def test_empty_set_disjoint_with_itself (self ):
59
+ def test_the_empty_set_is_disjoint_with_itself (self ):
60
60
set1 = CustomSet ()
61
61
set2 = CustomSet ()
62
62
self .assertIs (set1 .isdisjoint (set2 ), True )
63
63
64
- def test_empty_set_disjoint_with_non_empty_set (self ):
64
+ def test_empty_set_is_disjoint_with_non_empty_set (self ):
65
65
set1 = CustomSet ()
66
66
set2 = CustomSet ([1 ])
67
67
self .assertIs (set1 .isdisjoint (set2 ), True )
68
68
69
- def test_non_empty_set_disjoint_with_empty_set (self ):
69
+ def test_non_empty_set_is_disjoint_with_empty_set (self ):
70
70
set1 = CustomSet ([1 ])
71
71
set2 = CustomSet ()
72
72
self .assertIs (set1 .isdisjoint (set2 ), True )
73
73
74
- def test_sets_not_disjoint_if_element_is_shared (self ):
74
+ def test_sets_are_not_disjoint_if_they_share_an_element (self ):
75
75
set1 = CustomSet ([1 , 2 ])
76
76
set2 = CustomSet ([2 , 3 ])
77
77
self .assertIs (set1 .isdisjoint (set2 ), False )
78
78
79
- def test_sets_disjoint_if_not_elements_are_shared (self ):
79
+ def test_sets_are_disjoint_if_they_share_no_elements (self ):
80
80
set1 = CustomSet ([1 , 2 ])
81
81
set2 = CustomSet ([3 , 4 ])
82
82
self .assertIs (set1 .isdisjoint (set2 ), True )
@@ -86,17 +86,17 @@ def test_empty_sets_are_equal(self):
86
86
set2 = CustomSet ()
87
87
self .assertEqual (set1 , set2 )
88
88
89
- def test_empty_set_not_equal_to_non_empty_set (self ):
89
+ def test_empty_set_is_not_equal_to_non_empty_set (self ):
90
90
set1 = CustomSet ()
91
91
set2 = CustomSet ([1 , 2 , 3 ])
92
92
self .assertNotEqual (set1 , set2 )
93
93
94
- def test_non_empty_set_not_equal_to_empty_set (self ):
94
+ def test_non_empty_set_is_not_equal_to_empty_set (self ):
95
95
set1 = CustomSet ([1 , 2 , 3 ])
96
96
set2 = CustomSet ()
97
97
self .assertNotEqual (set1 , set2 )
98
98
99
- def test_sets_with_same_exact_same_elements_are_equal (self ):
99
+ def test_sets_with_the_same_elements_are_equal (self ):
100
100
set1 = CustomSet ([1 , 2 ])
101
101
set2 = CustomSet ([2 , 1 ])
102
102
self .assertEqual (set1 , set2 )
@@ -113,89 +113,93 @@ def test_set_is_not_equal_to_larger_set_with_same_elements(self):
113
113
114
114
def test_add_to_empty_set (self ):
115
115
sut = CustomSet ()
116
- sut . add ( 1 )
117
- expected = CustomSet ([ 1 ] )
116
+ expected = CustomSet ([ 3 ] )
117
+ sut . add ( 3 )
118
118
self .assertEqual (sut , expected )
119
119
120
120
def test_add_to_non_empty_set (self ):
121
121
sut = CustomSet ([1 , 2 , 4 ])
122
- sut .add (3 )
123
122
expected = CustomSet ([1 , 2 , 3 , 4 ])
123
+ sut .add (3 )
124
124
self .assertEqual (sut , expected )
125
125
126
- def test_adding_existing_element_does_not_change_set (self ):
126
+ def test_adding_an_existing_element_does_not_change_the_set (self ):
127
127
sut = CustomSet ([1 , 2 , 3 ])
128
- sut .add (3 )
129
128
expected = CustomSet ([1 , 2 , 3 ])
129
+ sut .add (3 )
130
130
self .assertEqual (sut , expected )
131
131
132
- def test_intersection_of_two_empty_sets_is_empty_set (self ):
132
+ def test_intersection_of_two_empty_sets_is_an_empty_set (self ):
133
133
set1 = CustomSet ()
134
134
set2 = CustomSet ()
135
135
expected = CustomSet ()
136
136
self .assertEqual (set1 .intersection (set2 ), expected )
137
137
138
- def test_intersection_of_empty_set_and_non_empty_set_is_empty_set (self ):
138
+ def test_intersection_of_an_empty_set_and_non_empty_set_is_an_empty_set (self ):
139
139
set1 = CustomSet ()
140
140
set2 = CustomSet ([3 , 2 , 5 ])
141
141
expected = CustomSet ()
142
142
self .assertEqual (set1 .intersection (set2 ), expected )
143
143
144
- def test_intersection_of_non_empty_set_and_empty_set_is_empty_set (self ):
144
+ def test_intersection_of_a_non_empty_set_and_an_empty_set_is_an_empty_set (self ):
145
145
set1 = CustomSet ([1 , 2 , 3 , 4 ])
146
146
set2 = CustomSet ()
147
147
expected = CustomSet ()
148
148
self .assertEqual (set1 .intersection (set2 ), expected )
149
149
150
- def test_intersection_of_sets_with_no_shared_elements_is_empty_set (self ):
150
+ def test_intersection_of_two_sets_with_no_shared_elements_is_an_empty_set (self ):
151
151
set1 = CustomSet ([1 , 2 , 3 ])
152
152
set2 = CustomSet ([4 , 5 , 6 ])
153
153
expected = CustomSet ()
154
154
self .assertEqual (set1 .intersection (set2 ), expected )
155
155
156
- def test_intersection_contains_shared_elements_only (self ):
156
+ def test_intersection_of_two_sets_with_shared_elements_is_a_set_of_the_shared_elements (
157
+ self
158
+ ):
157
159
set1 = CustomSet ([1 , 2 , 3 , 4 ])
158
160
set2 = CustomSet ([3 , 2 , 5 ])
159
161
expected = CustomSet ([2 , 3 ])
160
162
self .assertEqual (set1 .intersection (set2 ), expected )
161
163
162
- def test_difference_of_two_empty_sets_is_empty_set (self ):
164
+ def test_difference_of_two_empty_sets_is_an_empty_set (self ):
163
165
set1 = CustomSet ()
164
166
set2 = CustomSet ()
165
167
expected = CustomSet ()
166
168
self .assertEqual (set1 - set2 , expected )
167
169
168
- def test_difference_of_empty_set_and_non_empty_set_is_empty_set (self ):
170
+ def test_difference_of_empty_set_and_non_empty_set_is_an_empty_set (self ):
169
171
set1 = CustomSet ()
170
172
set2 = CustomSet ([3 , 2 , 5 ])
171
173
expected = CustomSet ()
172
174
self .assertEqual (set1 - set2 , expected )
173
175
174
- def test_difference_of_non_empty_set_and_empty_set_is_non_empty_set (self ):
176
+ def test_difference_of_a_non_empty_set_and_an_empty_set_is_the_non_empty_set (self ):
175
177
set1 = CustomSet ([1 , 2 , 3 , 4 ])
176
178
set2 = CustomSet ()
177
179
expected = CustomSet ([1 , 2 , 3 , 4 ])
178
180
self .assertEqual (set1 - set2 , expected )
179
181
180
- def test_difference_of_non_empty_sets_elements_in_first_set_only (self ):
182
+ def test_difference_of_two_non_empty_sets_is_a_set_of_elements_that_are_only_in_the_first_set (
183
+ self
184
+ ):
181
185
set1 = CustomSet ([3 , 2 , 1 ])
182
186
set2 = CustomSet ([2 , 4 ])
183
187
expected = CustomSet ([1 , 3 ])
184
188
self .assertEqual (set1 - set2 , expected )
185
189
186
- def test_union_of_empty_sets_is_empty_set (self ):
190
+ def test_union_of_empty_sets_is_an_empty_set (self ):
187
191
set1 = CustomSet ()
188
192
set2 = CustomSet ()
189
193
expected = CustomSet ()
190
194
self .assertEqual (set1 + set2 , expected )
191
195
192
- def test_union_of_empty_set_and_non_empty_set_is_the_non_empty_set (self ):
196
+ def test_union_of_an_empty_set_and_non_empty_set_is_the_non_empty_set (self ):
193
197
set1 = CustomSet ()
194
198
set2 = CustomSet ([2 ])
195
199
expected = CustomSet ([2 ])
196
200
self .assertEqual (set1 + set2 , expected )
197
201
198
- def test_union_of_non_empty_set_and_empty_set_is_the_non_empty_set (self ):
202
+ def test_union_of_a_non_empty_set_and_empty_set_is_the_non_empty_set (self ):
199
203
set1 = CustomSet ([1 , 3 ])
200
204
set2 = CustomSet ()
201
205
expected = CustomSet ([1 , 3 ])
@@ -204,9 +208,9 @@ def test_union_of_non_empty_set_and_empty_set_is_the_non_empty_set(self):
204
208
def test_union_of_non_empty_sets_contains_all_unique_elements (self ):
205
209
set1 = CustomSet ([1 , 3 ])
206
210
set2 = CustomSet ([2 , 3 ])
207
- expected = CustomSet ([1 , 2 , 3 ])
211
+ expected = CustomSet ([3 , 2 , 1 ])
208
212
self .assertEqual (set1 + set2 , expected )
209
213
210
214
211
- if __name__ == ' __main__' :
215
+ if __name__ == " __main__" :
212
216
unittest .main ()
0 commit comments