소스 검색

Merge branch 'master' into MatrixExercise

Stuart Kent 9 년 전
부모
커밋
0ba73c64ff

+ 6
- 0
config.json 파일 보기

56
     "palindrome-products",
56
     "palindrome-products",
57
     "twelve-days",
57
     "twelve-days",
58
     "sublist",
58
     "sublist",
59
+    "rectangles",
59
     "matrix"
60
     "matrix"
60
   ],
61
   ],
61
   "exercises": [
62
   "exercises": [
320
       "topics": []
321
       "topics": []
321
     },
322
     },
322
     {
323
     {
324
+      "slug": "rectangles",
325
+      "difficulty": 1,
326
+      "topics": []
327
+    },
328
+    {
323
       "slug": "matrix",
329
       "slug": "matrix",
324
       "difficulty": 1,
330
       "difficulty": 1,
325
       "topics": []
331
       "topics": []

+ 53
- 0
docs/MAINTAINING.md 파일 보기

1
+# Welcome!
2
+
3
+This is a guide/reference for maintainers of the Java track.
4
+
5
+- [Your Permissions](#your-permissions)
6
+- [Maintainer Guides](#maintainer-guides)
7
+- [The Project Board](#the-project-board)
8
+- [Miscellaneous](#miscellaneous)
9
+
10
+## Your Permissions 
11
+
12
+As a maintainer, you have write access to four repositories.  "write access" means you can: review, reject, accept and merge PRs; and push changes to these repos.  Despite having permissions to push directly, we tend to seek review of even our own PRs.
13
+
14
+### Track-specific
15
+
16
+- [xjava](https://github.com/exercism/xjava) — yeah... you know what this one is. :)
17
+
18
+### Exercism-wide
19
+
20
+- [x-common](https://github.com/exercism/x-common) — the library of canonical exercises.
21
+- [discussions](https://github.com/exercism/discussions) — the place where project-wide conversations happen. 
22
+  [issues sorted by most recently updated.](https://github.com/exercism/discussions/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
23
+- [todo](https://github.com/exercism/todo) — not really used... might just go away completely in the future.
24
+
25
+## Maintainer Guides
26
+
27
+- **[exercism.io/docs/maintaining-a-track.md](https://github.com/exercism/exercism.io/blob/master/docs/maintaining-a-track.md)**
28
+- [exercism.io/docs/getting-involved-in-a-track.md](https://github.com/exercism/exercism.io/blob/master/docs/getting-involved-in-a-track.md)
29
+- [exercism.io/docs/reviewing-a-pull-request.md](https://github.com/exercism/exercism.io/blob/master/docs/reviewing-a-pull-request.md)
30
+
31
+## The Project Board
32
+
33
+GitHub issues are great, but there's no way to easily set priorities.
34
+To do this, we're using a GitHub Project: https://github.com/exercism/xjava/projects/2.
35
+
36
+- **Epics** — issues that really represent bigger ideas.  These inspire creating a set of smaller issues to be elaborated...
37
+- **Icebox** — issues that just needs a little more detail to be "ready to play"...
38
+- **Backlog** — issues ready to be worked.  When we start working on an issue, we move it to the next column...
39
+- **Current** — issues in progress.  When we've considered it done, we move the card to...
40
+- **Delivered** — completed issues that could use another pair of eyes.  When these are reviewed they get moved to...
41
+- **Done** — issues we've complete.  Every so often, we get together and it's nice to review what we've completed. 
42
+  Once reviewed, we remove them from this Project.
43
+
44
+The point of this board is to make clear our shared priorities.  It's a tool you can use.
45
+However, if you have an idea and want to implement it, you can just do it; it does not have to be added to this board.
46
+
47
+## Miscellaneous
48
+
49
+- Issues marked with "policy" are current "team agreements": [exercism?label:policy](https://github.com/search?q=org%3Aexercism+label%3Apolicy).
50
+  This label is described in [discussions#96](https://github.com/exercism/discussions/issues/96).
51
+- Exercism has a Twitter account: [@Exercism.io](https://twitter.com/exercism_io); and a mailing list: https://tinyletter.com/exercism
52
+
53
+**Please feel free to ask any questions.  In our thinking, asking questions is far smarter than guessing.**

+ 91
- 91
exercises/meetup/src/test/java/MeetupTest.java 파일 보기

13
     public void test_monteenth_of_may_2013() {
13
     public void test_monteenth_of_may_2013() {
14
         LocalDate expected = LocalDate.of(2013, 5, 13);
14
         LocalDate expected = LocalDate.of(2013, 5, 13);
15
         Meetup meetup = new Meetup(5, 2013);
15
         Meetup meetup = new Meetup(5, 2013);
16
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH), expected);
16
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH));
17
     }
17
     }
18
 
18
 
19
     @Ignore
19
     @Ignore
21
     public void test_monteenth_of_august_2013() {
21
     public void test_monteenth_of_august_2013() {
22
         LocalDate expected = LocalDate.of(2013, 8, 19);
22
         LocalDate expected = LocalDate.of(2013, 8, 19);
23
         Meetup meetup = new Meetup(8, 2013);
23
         Meetup meetup = new Meetup(8, 2013);
24
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH), expected);
24
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH));
25
     }
25
     }
26
 
26
 
27
     @Ignore
27
     @Ignore
29
     public void test_monteenth_of_september_2013() {
29
     public void test_monteenth_of_september_2013() {
30
         LocalDate expected = LocalDate.of(2013, 9, 16);
30
         LocalDate expected = LocalDate.of(2013, 9, 16);
31
         Meetup meetup = new Meetup(9, 2013);
31
         Meetup meetup = new Meetup(9, 2013);
32
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH), expected);
32
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH));
33
     }
33
     }
34
 
34
 
35
     @Ignore
35
     @Ignore
37
     public void test_tuesteenth_of_march_2013() {
37
     public void test_tuesteenth_of_march_2013() {
38
         LocalDate expected = LocalDate.of(2013, 3, 19);
38
         LocalDate expected = LocalDate.of(2013, 3, 19);
39
         Meetup meetup = new Meetup(3, 2013);
39
         Meetup meetup = new Meetup(3, 2013);
40
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH), expected);
40
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH));
41
     }
41
     }
42
 
42
 
43
     @Ignore
43
     @Ignore
45
     public void test_tuesteenth_of_april_2013() {
45
     public void test_tuesteenth_of_april_2013() {
46
         LocalDate expected = LocalDate.of(2013, 4, 16);
46
         LocalDate expected = LocalDate.of(2013, 4, 16);
47
         Meetup meetup = new Meetup(4, 2013);
47
         Meetup meetup = new Meetup(4, 2013);
48
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH), expected);
48
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH));
49
     }
49
     }
50
 
50
 
51
     @Ignore
51
     @Ignore
53
     public void test_tuesteenth_of_august_2013() {
53
     public void test_tuesteenth_of_august_2013() {
54
         LocalDate expected = LocalDate.of(2013, 8, 13);
54
         LocalDate expected = LocalDate.of(2013, 8, 13);
55
         Meetup meetup = new Meetup(8, 2013);
55
         Meetup meetup = new Meetup(8, 2013);
56
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH), expected);
56
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH));
57
     }
57
     }
58
 
58
 
59
     @Ignore
59
     @Ignore
61
     public void test_wednesteenth_of_january_2013() {
61
     public void test_wednesteenth_of_january_2013() {
62
         LocalDate expected = LocalDate.of(2013, 1, 16);
62
         LocalDate expected = LocalDate.of(2013, 1, 16);
63
         Meetup meetup = new Meetup(1, 2013);
63
         Meetup meetup = new Meetup(1, 2013);
64
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH), expected);
64
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH));
65
     }
65
     }
66
 
66
 
67
     @Ignore
67
     @Ignore
69
     public void test_wednesteenth_of_february_2013() {
69
     public void test_wednesteenth_of_february_2013() {
70
         LocalDate expected = LocalDate.of(2013, 2, 13);
70
         LocalDate expected = LocalDate.of(2013, 2, 13);
71
         Meetup meetup = new Meetup(2, 2013);
71
         Meetup meetup = new Meetup(2, 2013);
72
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH), expected);
72
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH));
73
     }
73
     }
74
 
74
 
75
     @Ignore
75
     @Ignore
77
     public void test_wednesteenth_of_june_2013() {
77
     public void test_wednesteenth_of_june_2013() {
78
         LocalDate expected = LocalDate.of(2013, 6, 19);
78
         LocalDate expected = LocalDate.of(2013, 6, 19);
79
         Meetup meetup = new Meetup(6, 2013);
79
         Meetup meetup = new Meetup(6, 2013);
80
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH), expected);
80
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH));
81
     }
81
     }
82
 
82
 
83
     @Ignore
83
     @Ignore
85
     public void test_thursteenth_of_may_2013() {
85
     public void test_thursteenth_of_may_2013() {
86
         LocalDate expected = LocalDate.of(2013, 5, 16);
86
         LocalDate expected = LocalDate.of(2013, 5, 16);
87
         Meetup meetup = new Meetup(5, 2013);
87
         Meetup meetup = new Meetup(5, 2013);
88
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH), expected);
88
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH));
89
     }
89
     }
90
 
90
 
91
     @Ignore
91
     @Ignore
93
     public void test_thursteenth_of_june_2013() {
93
     public void test_thursteenth_of_june_2013() {
94
         LocalDate expected = LocalDate.of(2013, 6, 13);
94
         LocalDate expected = LocalDate.of(2013, 6, 13);
95
         Meetup meetup = new Meetup(6, 2013);
95
         Meetup meetup = new Meetup(6, 2013);
96
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH), expected);
96
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH));
97
     }
97
     }
98
 
98
 
99
     @Ignore
99
     @Ignore
101
     public void test_thursteenth_of_september_2013() {
101
     public void test_thursteenth_of_september_2013() {
102
         LocalDate expected = LocalDate.of(2013, 9, 19);
102
         LocalDate expected = LocalDate.of(2013, 9, 19);
103
         Meetup meetup = new Meetup(9, 2013);
103
         Meetup meetup = new Meetup(9, 2013);
104
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH), expected);
104
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH));
105
     }
105
     }
106
 
106
 
107
     @Ignore
107
     @Ignore
109
     public void test_friteenth_of_april_2013() {
109
     public void test_friteenth_of_april_2013() {
110
         LocalDate expected = LocalDate.of(2013, 4, 19);
110
         LocalDate expected = LocalDate.of(2013, 4, 19);
111
         Meetup meetup = new Meetup(4, 2013);
111
         Meetup meetup = new Meetup(4, 2013);
112
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH), expected);
112
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH));
113
     }
113
     }
114
 
114
 
115
     @Ignore
115
     @Ignore
117
     public void test_friteenth_of_august_2013() {
117
     public void test_friteenth_of_august_2013() {
118
         LocalDate expected = LocalDate.of(2013, 8, 16);
118
         LocalDate expected = LocalDate.of(2013, 8, 16);
119
         Meetup meetup = new Meetup(8, 2013);
119
         Meetup meetup = new Meetup(8, 2013);
120
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH), expected);
120
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH));
121
     }
121
     }
122
 
122
 
123
     @Ignore
123
     @Ignore
125
     public void test_friteenth_of_september_2013() {
125
     public void test_friteenth_of_september_2013() {
126
         LocalDate expected = LocalDate.of(2013, 9, 13);
126
         LocalDate expected = LocalDate.of(2013, 9, 13);
127
         Meetup meetup = new Meetup(9, 2013);
127
         Meetup meetup = new Meetup(9, 2013);
128
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH), expected);
128
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH));
129
     }
129
     }
130
 
130
 
131
     @Ignore
131
     @Ignore
133
     public void test_saturteenth_of_february_2013() {
133
     public void test_saturteenth_of_february_2013() {
134
         LocalDate expected = LocalDate.of(2013, 2, 16);
134
         LocalDate expected = LocalDate.of(2013, 2, 16);
135
         Meetup meetup = new Meetup(2, 2013);
135
         Meetup meetup = new Meetup(2, 2013);
136
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH), expected);
136
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH));
137
     }
137
     }
138
 
138
 
139
     @Ignore
139
     @Ignore
141
     public void test_saturteenth_of_april_2013() {
141
     public void test_saturteenth_of_april_2013() {
142
         LocalDate expected = LocalDate.of(2013, 4, 13);
142
         LocalDate expected = LocalDate.of(2013, 4, 13);
143
         Meetup meetup = new Meetup(4, 2013);
143
         Meetup meetup = new Meetup(4, 2013);
144
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH), expected);
144
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH));
145
     }
145
     }
146
 
146
 
147
     @Ignore
147
     @Ignore
149
     public void test_saturteenth_of_october_2013() {
149
     public void test_saturteenth_of_october_2013() {
150
         LocalDate expected = LocalDate.of(2013, 10, 19);
150
         LocalDate expected = LocalDate.of(2013, 10, 19);
151
         Meetup meetup = new Meetup(10, 2013);
151
         Meetup meetup = new Meetup(10, 2013);
152
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH), expected);
152
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH));
153
     }
153
     }
154
 
154
 
155
     @Ignore
155
     @Ignore
157
     public void test_sunteenth_of_may_2013() {
157
     public void test_sunteenth_of_may_2013() {
158
         LocalDate expected = LocalDate.of(2013, 5, 19);
158
         LocalDate expected = LocalDate.of(2013, 5, 19);
159
         Meetup meetup = new Meetup(5, 2013);
159
         Meetup meetup = new Meetup(5, 2013);
160
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH), expected);
160
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH));
161
     }
161
     }
162
 
162
 
163
     @Ignore
163
     @Ignore
165
     public void test_sunteenth_of_june_2013() {
165
     public void test_sunteenth_of_june_2013() {
166
         LocalDate expected = LocalDate.of(2013, 6, 16);
166
         LocalDate expected = LocalDate.of(2013, 6, 16);
167
         Meetup meetup = new Meetup(6, 2013);
167
         Meetup meetup = new Meetup(6, 2013);
168
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH), expected);
168
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH));
169
     }
169
     }
170
 
170
 
171
     @Ignore
171
     @Ignore
173
     public void test_sunteenth_of_october_2013() {
173
     public void test_sunteenth_of_october_2013() {
174
         LocalDate expected = LocalDate.of(2013, 10, 13);
174
         LocalDate expected = LocalDate.of(2013, 10, 13);
175
         Meetup meetup = new Meetup(10, 2013);
175
         Meetup meetup = new Meetup(10, 2013);
176
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH), expected);
176
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH));
177
     }
177
     }
178
 
178
 
179
     @Ignore
179
     @Ignore
181
     public void test_first_monday_of_march_2013() {
181
     public void test_first_monday_of_march_2013() {
182
         LocalDate expected = LocalDate.of(2013, 3, 4);
182
         LocalDate expected = LocalDate.of(2013, 3, 4);
183
         Meetup meetup = new Meetup(3, 2013);
183
         Meetup meetup = new Meetup(3, 2013);
184
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST), expected);
184
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST));
185
     }
185
     }
186
 
186
 
187
     @Ignore
187
     @Ignore
189
     public void test_first_monday_of_april_2013() {
189
     public void test_first_monday_of_april_2013() {
190
         LocalDate expected = LocalDate.of(2013, 4, 1);
190
         LocalDate expected = LocalDate.of(2013, 4, 1);
191
         Meetup meetup = new Meetup(4, 2013);
191
         Meetup meetup = new Meetup(4, 2013);
192
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST), expected);
192
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST));
193
     }
193
     }
194
 
194
 
195
     @Ignore
195
     @Ignore
197
     public void test_first_tuesday_of_may_2013() {
197
     public void test_first_tuesday_of_may_2013() {
198
         LocalDate expected = LocalDate.of(2013, 5, 7);
198
         LocalDate expected = LocalDate.of(2013, 5, 7);
199
         Meetup meetup = new Meetup(5, 2013);
199
         Meetup meetup = new Meetup(5, 2013);
200
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST), expected);
200
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST));
201
     }
201
     }
202
 
202
 
203
     @Ignore
203
     @Ignore
205
     public void test_first_tuesday_of_june_2013() {
205
     public void test_first_tuesday_of_june_2013() {
206
         LocalDate expected = LocalDate.of(2013, 6, 4);
206
         LocalDate expected = LocalDate.of(2013, 6, 4);
207
         Meetup meetup = new Meetup(6, 2013);
207
         Meetup meetup = new Meetup(6, 2013);
208
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST), expected);
208
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST));
209
     }
209
     }
210
 
210
 
211
     @Ignore
211
     @Ignore
213
     public void test_first_wednesday_of_july_2013() {
213
     public void test_first_wednesday_of_july_2013() {
214
         LocalDate expected = LocalDate.of(2013, 7, 3);
214
         LocalDate expected = LocalDate.of(2013, 7, 3);
215
         Meetup meetup = new Meetup(7, 2013);
215
         Meetup meetup = new Meetup(7, 2013);
216
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST), expected);
216
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST));
217
     }
217
     }
218
 
218
 
219
     @Ignore
219
     @Ignore
221
     public void test_first_wednesday_of_august_2013() {
221
     public void test_first_wednesday_of_august_2013() {
222
         LocalDate expected = LocalDate.of(2013, 8, 7);
222
         LocalDate expected = LocalDate.of(2013, 8, 7);
223
         Meetup meetup = new Meetup(8, 2013);
223
         Meetup meetup = new Meetup(8, 2013);
224
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST), expected);
224
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST));
225
     }
225
     }
226
 
226
 
227
     @Ignore
227
     @Ignore
229
     public void test_first_thursday_of_september_2013() {
229
     public void test_first_thursday_of_september_2013() {
230
         LocalDate expected = LocalDate.of(2013, 9, 5);
230
         LocalDate expected = LocalDate.of(2013, 9, 5);
231
         Meetup meetup = new Meetup(9, 2013);
231
         Meetup meetup = new Meetup(9, 2013);
232
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST), expected);
232
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST));
233
     }
233
     }
234
 
234
 
235
     @Ignore
235
     @Ignore
237
     public void test_first_thursday_of_october_2013() {
237
     public void test_first_thursday_of_october_2013() {
238
         LocalDate expected = LocalDate.of(2013, 10, 3);
238
         LocalDate expected = LocalDate.of(2013, 10, 3);
239
         Meetup meetup = new Meetup(10, 2013);
239
         Meetup meetup = new Meetup(10, 2013);
240
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST), expected);
240
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST));
241
     }
241
     }
242
 
242
 
243
     @Ignore
243
     @Ignore
245
     public void test_first_friday_of_november_2013() {
245
     public void test_first_friday_of_november_2013() {
246
         LocalDate expected = LocalDate.of(2013, 11, 1);
246
         LocalDate expected = LocalDate.of(2013, 11, 1);
247
         Meetup meetup = new Meetup(11, 2013);
247
         Meetup meetup = new Meetup(11, 2013);
248
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST), expected);
248
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST));
249
     }
249
     }
250
 
250
 
251
     @Ignore
251
     @Ignore
253
     public void test_first_friday_of_december_2013() {
253
     public void test_first_friday_of_december_2013() {
254
         LocalDate expected = LocalDate.of(2013, 12, 6);
254
         LocalDate expected = LocalDate.of(2013, 12, 6);
255
         Meetup meetup = new Meetup(12, 2013);
255
         Meetup meetup = new Meetup(12, 2013);
256
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST), expected);
256
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST));
257
     }
257
     }
258
 
258
 
259
     @Ignore
259
     @Ignore
261
     public void test_first_saturday_of_january_2013() {
261
     public void test_first_saturday_of_january_2013() {
262
         LocalDate expected = LocalDate.of(2013, 1, 5);
262
         LocalDate expected = LocalDate.of(2013, 1, 5);
263
         Meetup meetup = new Meetup(1, 2013);
263
         Meetup meetup = new Meetup(1, 2013);
264
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST), expected);
264
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST));
265
     }
265
     }
266
 
266
 
267
     @Ignore
267
     @Ignore
269
     public void test_first_saturday_of_february_2013() {
269
     public void test_first_saturday_of_february_2013() {
270
         LocalDate expected = LocalDate.of(2013, 2, 2);
270
         LocalDate expected = LocalDate.of(2013, 2, 2);
271
         Meetup meetup = new Meetup(2, 2013);
271
         Meetup meetup = new Meetup(2, 2013);
272
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST), expected);
272
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST));
273
     }
273
     }
274
 
274
 
275
     @Ignore
275
     @Ignore
277
     public void test_first_sunday_of_march_2013() {
277
     public void test_first_sunday_of_march_2013() {
278
         LocalDate expected = LocalDate.of(2013, 3, 3);
278
         LocalDate expected = LocalDate.of(2013, 3, 3);
279
         Meetup meetup = new Meetup(3, 2013);
279
         Meetup meetup = new Meetup(3, 2013);
280
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST), expected);
280
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST));
281
     }
281
     }
282
 
282
 
283
     @Ignore
283
     @Ignore
285
     public void test_first_sunday_of_april_2013() {
285
     public void test_first_sunday_of_april_2013() {
286
         LocalDate expected = LocalDate.of(2013, 4, 7);
286
         LocalDate expected = LocalDate.of(2013, 4, 7);
287
         Meetup meetup = new Meetup(4, 2013);
287
         Meetup meetup = new Meetup(4, 2013);
288
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST), expected);
288
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST));
289
     }
289
     }
290
 
290
 
291
     @Ignore
291
     @Ignore
293
     public void test_second_monday_of_march_2013() {
293
     public void test_second_monday_of_march_2013() {
294
         LocalDate expected = LocalDate.of(2013, 3, 11);
294
         LocalDate expected = LocalDate.of(2013, 3, 11);
295
         Meetup meetup = new Meetup(3, 2013);
295
         Meetup meetup = new Meetup(3, 2013);
296
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND), expected);
296
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND));
297
     }
297
     }
298
 
298
 
299
     @Ignore
299
     @Ignore
301
     public void test_second_monday_of_april_2013() {
301
     public void test_second_monday_of_april_2013() {
302
         LocalDate expected = LocalDate.of(2013, 4, 8);
302
         LocalDate expected = LocalDate.of(2013, 4, 8);
303
         Meetup meetup = new Meetup(4, 2013);
303
         Meetup meetup = new Meetup(4, 2013);
304
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND), expected);
304
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND));
305
     }
305
     }
306
 
306
 
307
     @Ignore
307
     @Ignore
309
     public void test_second_tuesday_of_may_2013() {
309
     public void test_second_tuesday_of_may_2013() {
310
         LocalDate expected = LocalDate.of(2013, 5, 14);
310
         LocalDate expected = LocalDate.of(2013, 5, 14);
311
         Meetup meetup = new Meetup(5, 2013);
311
         Meetup meetup = new Meetup(5, 2013);
312
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND), expected);
312
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND));
313
     }
313
     }
314
 
314
 
315
     @Ignore
315
     @Ignore
317
     public void test_second_tuesday_of_june_2013() {
317
     public void test_second_tuesday_of_june_2013() {
318
         LocalDate expected = LocalDate.of(2013, 6, 11);
318
         LocalDate expected = LocalDate.of(2013, 6, 11);
319
         Meetup meetup = new Meetup(6, 2013);
319
         Meetup meetup = new Meetup(6, 2013);
320
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND), expected);
320
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND));
321
     }
321
     }
322
 
322
 
323
     @Ignore
323
     @Ignore
325
     public void test_second_wednesday_of_july_2013() {
325
     public void test_second_wednesday_of_july_2013() {
326
         LocalDate expected = LocalDate.of(2013, 7, 10);
326
         LocalDate expected = LocalDate.of(2013, 7, 10);
327
         Meetup meetup = new Meetup(7, 2013);
327
         Meetup meetup = new Meetup(7, 2013);
328
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND), expected);
328
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND));
329
     }
329
     }
330
 
330
 
331
     @Ignore
331
     @Ignore
333
     public void test_second_wednesday_of_august_2013() {
333
     public void test_second_wednesday_of_august_2013() {
334
         LocalDate expected = LocalDate.of(2013, 8, 14);
334
         LocalDate expected = LocalDate.of(2013, 8, 14);
335
         Meetup meetup = new Meetup(8, 2013);
335
         Meetup meetup = new Meetup(8, 2013);
336
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND), expected);
336
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND));
337
     }
337
     }
338
 
338
 
339
     @Ignore
339
     @Ignore
341
     public void test_second_thursday_of_september_2013() {
341
     public void test_second_thursday_of_september_2013() {
342
         LocalDate expected = LocalDate.of(2013, 9, 12);
342
         LocalDate expected = LocalDate.of(2013, 9, 12);
343
         Meetup meetup = new Meetup(9, 2013);
343
         Meetup meetup = new Meetup(9, 2013);
344
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND), expected);
344
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND));
345
     }
345
     }
346
 
346
 
347
     @Ignore
347
     @Ignore
349
     public void test_second_thursday_of_october_2013() {
349
     public void test_second_thursday_of_october_2013() {
350
         LocalDate expected = LocalDate.of(2013, 10, 10);
350
         LocalDate expected = LocalDate.of(2013, 10, 10);
351
         Meetup meetup = new Meetup(10, 2013);
351
         Meetup meetup = new Meetup(10, 2013);
352
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND), expected);
352
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND));
353
     }
353
     }
354
 
354
 
355
     @Ignore
355
     @Ignore
357
     public void test_second_friday_of_november_2013() {
357
     public void test_second_friday_of_november_2013() {
358
         LocalDate expected = LocalDate.of(2013, 11, 8);
358
         LocalDate expected = LocalDate.of(2013, 11, 8);
359
         Meetup meetup = new Meetup(11, 2013);
359
         Meetup meetup = new Meetup(11, 2013);
360
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND), expected);
360
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND));
361
     }
361
     }
362
 
362
 
363
     @Ignore
363
     @Ignore
365
     public void test_second_friday_of_december_2013() {
365
     public void test_second_friday_of_december_2013() {
366
         LocalDate expected = LocalDate.of(2013, 12, 13);
366
         LocalDate expected = LocalDate.of(2013, 12, 13);
367
         Meetup meetup = new Meetup(12, 2013);
367
         Meetup meetup = new Meetup(12, 2013);
368
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND), expected);
368
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND));
369
     }
369
     }
370
 
370
 
371
     @Ignore
371
     @Ignore
373
     public void test_second_saturday_of_january_2013() {
373
     public void test_second_saturday_of_january_2013() {
374
         LocalDate expected = LocalDate.of(2013, 1, 12);
374
         LocalDate expected = LocalDate.of(2013, 1, 12);
375
         Meetup meetup = new Meetup(1, 2013);
375
         Meetup meetup = new Meetup(1, 2013);
376
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND), expected);
376
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND));
377
     }
377
     }
378
 
378
 
379
     @Ignore
379
     @Ignore
381
     public void test_second_saturday_of_february_2013() {
381
     public void test_second_saturday_of_february_2013() {
382
         LocalDate expected = LocalDate.of(2013, 2, 9);
382
         LocalDate expected = LocalDate.of(2013, 2, 9);
383
         Meetup meetup = new Meetup(2, 2013);
383
         Meetup meetup = new Meetup(2, 2013);
384
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND), expected);
384
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND));
385
     }
385
     }
386
 
386
 
387
     @Ignore
387
     @Ignore
389
     public void test_second_sunday_of_march_2013() {
389
     public void test_second_sunday_of_march_2013() {
390
         LocalDate expected = LocalDate.of(2013, 3, 10);
390
         LocalDate expected = LocalDate.of(2013, 3, 10);
391
         Meetup meetup = new Meetup(3, 2013);
391
         Meetup meetup = new Meetup(3, 2013);
392
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND), expected);
392
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND));
393
     }
393
     }
394
 
394
 
395
     @Ignore
395
     @Ignore
397
     public void test_second_sunday_of_april_2013() {
397
     public void test_second_sunday_of_april_2013() {
398
         LocalDate expected = LocalDate.of(2013, 4, 14);
398
         LocalDate expected = LocalDate.of(2013, 4, 14);
399
         Meetup meetup = new Meetup(4, 2013);
399
         Meetup meetup = new Meetup(4, 2013);
400
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND), expected);
400
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND));
401
     }
401
     }
402
 
402
 
403
     @Ignore
403
     @Ignore
405
     public void test_third_monday_of_march_2013() {
405
     public void test_third_monday_of_march_2013() {
406
         LocalDate expected = LocalDate.of(2013, 3, 18);
406
         LocalDate expected = LocalDate.of(2013, 3, 18);
407
         Meetup meetup = new Meetup(3, 2013);
407
         Meetup meetup = new Meetup(3, 2013);
408
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD), expected);
408
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD));
409
     }
409
     }
410
 
410
 
411
     @Ignore
411
     @Ignore
413
     public void test_third_monday_of_april_2013() {
413
     public void test_third_monday_of_april_2013() {
414
         LocalDate expected = LocalDate.of(2013, 4, 15);
414
         LocalDate expected = LocalDate.of(2013, 4, 15);
415
         Meetup meetup = new Meetup(4, 2013);
415
         Meetup meetup = new Meetup(4, 2013);
416
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD), expected);
416
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD));
417
     }
417
     }
418
 
418
 
419
     @Ignore
419
     @Ignore
421
     public void test_third_tuesday_of_may_2013() {
421
     public void test_third_tuesday_of_may_2013() {
422
         LocalDate expected = LocalDate.of(2013, 5, 21);
422
         LocalDate expected = LocalDate.of(2013, 5, 21);
423
         Meetup meetup = new Meetup(5, 2013);
423
         Meetup meetup = new Meetup(5, 2013);
424
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD), expected);
424
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD));
425
     }
425
     }
426
 
426
 
427
     @Ignore
427
     @Ignore
429
     public void test_third_tuesday_of_june_2013() {
429
     public void test_third_tuesday_of_june_2013() {
430
         LocalDate expected = LocalDate.of(2013, 6, 18);
430
         LocalDate expected = LocalDate.of(2013, 6, 18);
431
         Meetup meetup = new Meetup(6, 2013);
431
         Meetup meetup = new Meetup(6, 2013);
432
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD), expected);
432
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD));
433
     }
433
     }
434
 
434
 
435
     @Ignore
435
     @Ignore
437
     public void test_third_wednesday_of_july_2013() {
437
     public void test_third_wednesday_of_july_2013() {
438
         LocalDate expected = LocalDate.of(2013, 7, 17);
438
         LocalDate expected = LocalDate.of(2013, 7, 17);
439
         Meetup meetup = new Meetup(7, 2013);
439
         Meetup meetup = new Meetup(7, 2013);
440
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD), expected);
440
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD));
441
     }
441
     }
442
 
442
 
443
     @Ignore
443
     @Ignore
445
     public void test_third_wednesday_of_august_2013() {
445
     public void test_third_wednesday_of_august_2013() {
446
         LocalDate expected = LocalDate.of(2013, 8, 21);
446
         LocalDate expected = LocalDate.of(2013, 8, 21);
447
         Meetup meetup = new Meetup(8, 2013);
447
         Meetup meetup = new Meetup(8, 2013);
448
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD), expected);
448
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD));
449
     }
449
     }
450
 
450
 
451
     @Ignore
451
     @Ignore
453
     public void test_third_thursday_of_september_2013() {
453
     public void test_third_thursday_of_september_2013() {
454
         LocalDate expected = LocalDate.of(2013, 9, 19);
454
         LocalDate expected = LocalDate.of(2013, 9, 19);
455
         Meetup meetup = new Meetup(9, 2013);
455
         Meetup meetup = new Meetup(9, 2013);
456
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD), expected);
456
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD));
457
     }
457
     }
458
 
458
 
459
     @Ignore
459
     @Ignore
461
     public void test_third_thursday_of_october_2013() {
461
     public void test_third_thursday_of_october_2013() {
462
         LocalDate expected = LocalDate.of(2013, 10, 17);
462
         LocalDate expected = LocalDate.of(2013, 10, 17);
463
         Meetup meetup = new Meetup(10, 2013);
463
         Meetup meetup = new Meetup(10, 2013);
464
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD), expected);
464
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD));
465
     }
465
     }
466
 
466
 
467
     @Ignore
467
     @Ignore
469
     public void test_third_friday_of_november_2013() {
469
     public void test_third_friday_of_november_2013() {
470
         LocalDate expected = LocalDate.of(2013, 11, 15);
470
         LocalDate expected = LocalDate.of(2013, 11, 15);
471
         Meetup meetup = new Meetup(11, 2013);
471
         Meetup meetup = new Meetup(11, 2013);
472
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD), expected);
472
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD));
473
     }
473
     }
474
 
474
 
475
     @Ignore
475
     @Ignore
477
     public void test_third_friday_of_december_2013() {
477
     public void test_third_friday_of_december_2013() {
478
         LocalDate expected = LocalDate.of(2013, 12, 20);
478
         LocalDate expected = LocalDate.of(2013, 12, 20);
479
         Meetup meetup = new Meetup(12, 2013);
479
         Meetup meetup = new Meetup(12, 2013);
480
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD), expected);
480
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD));
481
     }
481
     }
482
 
482
 
483
     @Ignore
483
     @Ignore
485
     public void test_third_saturday_of_january_2013() {
485
     public void test_third_saturday_of_january_2013() {
486
         LocalDate expected = LocalDate.of(2013, 1, 19);
486
         LocalDate expected = LocalDate.of(2013, 1, 19);
487
         Meetup meetup = new Meetup(1, 2013);
487
         Meetup meetup = new Meetup(1, 2013);
488
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD), expected);
488
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD));
489
     }
489
     }
490
 
490
 
491
     @Ignore
491
     @Ignore
493
     public void test_third_saturday_of_february_2013() {
493
     public void test_third_saturday_of_february_2013() {
494
         LocalDate expected = LocalDate.of(2013, 2, 16);
494
         LocalDate expected = LocalDate.of(2013, 2, 16);
495
         Meetup meetup = new Meetup(2, 2013);
495
         Meetup meetup = new Meetup(2, 2013);
496
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD), expected);
496
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD));
497
     }
497
     }
498
 
498
 
499
     @Ignore
499
     @Ignore
501
     public void test_third_sunday_of_march_2013() {
501
     public void test_third_sunday_of_march_2013() {
502
         LocalDate expected = LocalDate.of(2013, 3, 17);
502
         LocalDate expected = LocalDate.of(2013, 3, 17);
503
         Meetup meetup = new Meetup(3, 2013);
503
         Meetup meetup = new Meetup(3, 2013);
504
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD), expected);
504
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD));
505
     }
505
     }
506
 
506
 
507
     @Ignore
507
     @Ignore
509
     public void test_third_sunday_of_april_2013() {
509
     public void test_third_sunday_of_april_2013() {
510
         LocalDate expected = LocalDate.of(2013, 4, 21);
510
         LocalDate expected = LocalDate.of(2013, 4, 21);
511
         Meetup meetup = new Meetup(4, 2013);
511
         Meetup meetup = new Meetup(4, 2013);
512
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD), expected);
512
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD));
513
     }
513
     }
514
 
514
 
515
     @Ignore
515
     @Ignore
517
     public void test_fourth_monday_of_march_2013() {
517
     public void test_fourth_monday_of_march_2013() {
518
         LocalDate expected = LocalDate.of(2013, 3, 25);
518
         LocalDate expected = LocalDate.of(2013, 3, 25);
519
         Meetup meetup = new Meetup(3, 2013);
519
         Meetup meetup = new Meetup(3, 2013);
520
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH), expected);
520
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH));
521
     }
521
     }
522
 
522
 
523
     @Ignore
523
     @Ignore
525
     public void test_fourth_monday_of_april_2013() {
525
     public void test_fourth_monday_of_april_2013() {
526
         LocalDate expected = LocalDate.of(2013, 4, 22);
526
         LocalDate expected = LocalDate.of(2013, 4, 22);
527
         Meetup meetup = new Meetup(4, 2013);
527
         Meetup meetup = new Meetup(4, 2013);
528
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH), expected);
528
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH));
529
     }
529
     }
530
 
530
 
531
     @Ignore
531
     @Ignore
533
     public void test_fourth_tuesday_of_may_2013() {
533
     public void test_fourth_tuesday_of_may_2013() {
534
         LocalDate expected = LocalDate.of(2013, 5, 28);
534
         LocalDate expected = LocalDate.of(2013, 5, 28);
535
         Meetup meetup = new Meetup(5, 2013);
535
         Meetup meetup = new Meetup(5, 2013);
536
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH), expected);
536
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH));
537
     }
537
     }
538
 
538
 
539
     @Ignore
539
     @Ignore
541
     public void test_fourth_tuesday_of_june_2013() {
541
     public void test_fourth_tuesday_of_june_2013() {
542
         LocalDate expected = LocalDate.of(2013, 6, 25);
542
         LocalDate expected = LocalDate.of(2013, 6, 25);
543
         Meetup meetup = new Meetup(6, 2013);
543
         Meetup meetup = new Meetup(6, 2013);
544
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH), expected);
544
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH));
545
     }
545
     }
546
 
546
 
547
     @Ignore
547
     @Ignore
549
     public void test_fourth_wednesday_of_july_2013() {
549
     public void test_fourth_wednesday_of_july_2013() {
550
         LocalDate expected = LocalDate.of(2013, 7, 24);
550
         LocalDate expected = LocalDate.of(2013, 7, 24);
551
         Meetup meetup = new Meetup(7, 2013);
551
         Meetup meetup = new Meetup(7, 2013);
552
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH), expected);
552
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH));
553
     }
553
     }
554
 
554
 
555
     @Ignore
555
     @Ignore
557
     public void test_fourth_wednesday_of_august_2013() {
557
     public void test_fourth_wednesday_of_august_2013() {
558
         LocalDate expected = LocalDate.of(2013, 8, 28);
558
         LocalDate expected = LocalDate.of(2013, 8, 28);
559
         Meetup meetup = new Meetup(8, 2013);
559
         Meetup meetup = new Meetup(8, 2013);
560
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH), expected);
560
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH));
561
     }
561
     }
562
 
562
 
563
     @Ignore
563
     @Ignore
565
     public void test_fourth_thursday_of_september_2013() {
565
     public void test_fourth_thursday_of_september_2013() {
566
         LocalDate expected = LocalDate.of(2013, 9, 26);
566
         LocalDate expected = LocalDate.of(2013, 9, 26);
567
         Meetup meetup = new Meetup(9, 2013);
567
         Meetup meetup = new Meetup(9, 2013);
568
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH), expected);
568
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH));
569
     }
569
     }
570
 
570
 
571
     @Ignore
571
     @Ignore
573
     public void test_fourth_thursday_of_october_2013() {
573
     public void test_fourth_thursday_of_october_2013() {
574
         LocalDate expected = LocalDate.of(2013, 10, 24);
574
         LocalDate expected = LocalDate.of(2013, 10, 24);
575
         Meetup meetup = new Meetup(10, 2013);
575
         Meetup meetup = new Meetup(10, 2013);
576
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH), expected);
576
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH));
577
     }
577
     }
578
 
578
 
579
     @Ignore
579
     @Ignore
581
     public void test_fourth_friday_of_november_2013() {
581
     public void test_fourth_friday_of_november_2013() {
582
         LocalDate expected = LocalDate.of(2013, 11, 22);
582
         LocalDate expected = LocalDate.of(2013, 11, 22);
583
         Meetup meetup = new Meetup(11, 2013);
583
         Meetup meetup = new Meetup(11, 2013);
584
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH), expected);
584
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH));
585
     }
585
     }
586
 
586
 
587
     @Ignore
587
     @Ignore
589
     public void test_fourth_friday_of_december_2013() {
589
     public void test_fourth_friday_of_december_2013() {
590
         LocalDate expected = LocalDate.of(2013, 12, 27);
590
         LocalDate expected = LocalDate.of(2013, 12, 27);
591
         Meetup meetup = new Meetup(12, 2013);
591
         Meetup meetup = new Meetup(12, 2013);
592
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH), expected);
592
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH));
593
     }
593
     }
594
 
594
 
595
     @Ignore
595
     @Ignore
597
     public void test_fourth_saturday_of_january_2013() {
597
     public void test_fourth_saturday_of_january_2013() {
598
         LocalDate expected = LocalDate.of(2013, 1, 26);
598
         LocalDate expected = LocalDate.of(2013, 1, 26);
599
         Meetup meetup = new Meetup(1, 2013);
599
         Meetup meetup = new Meetup(1, 2013);
600
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH), expected);
600
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH));
601
     }
601
     }
602
 
602
 
603
     @Ignore
603
     @Ignore
605
     public void test_fourth_saturday_of_february_2013() {
605
     public void test_fourth_saturday_of_february_2013() {
606
         LocalDate expected = LocalDate.of(2013, 2, 23);
606
         LocalDate expected = LocalDate.of(2013, 2, 23);
607
         Meetup meetup = new Meetup(2, 2013);
607
         Meetup meetup = new Meetup(2, 2013);
608
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH), expected);
608
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH));
609
     }
609
     }
610
 
610
 
611
     @Ignore
611
     @Ignore
613
     public void test_fourth_sunday_of_march_2013() {
613
     public void test_fourth_sunday_of_march_2013() {
614
         LocalDate expected = LocalDate.of(2013, 3, 24);
614
         LocalDate expected = LocalDate.of(2013, 3, 24);
615
         Meetup meetup = new Meetup(3, 2013);
615
         Meetup meetup = new Meetup(3, 2013);
616
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH), expected);
616
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH));
617
     }
617
     }
618
 
618
 
619
     @Ignore
619
     @Ignore
621
     public void test_fourth_sunday_of_april_2013() {
621
     public void test_fourth_sunday_of_april_2013() {
622
         LocalDate expected = LocalDate.of(2013, 4, 28);
622
         LocalDate expected = LocalDate.of(2013, 4, 28);
623
         Meetup meetup = new Meetup(4, 2013);
623
         Meetup meetup = new Meetup(4, 2013);
624
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH), expected);
624
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH));
625
     }
625
     }
626
 
626
 
627
     @Ignore
627
     @Ignore
629
     public void test_last_monday_of_march_2013() {
629
     public void test_last_monday_of_march_2013() {
630
         LocalDate expected = LocalDate.of(2013, 3, 25);
630
         LocalDate expected = LocalDate.of(2013, 3, 25);
631
         Meetup meetup = new Meetup(3, 2013);
631
         Meetup meetup = new Meetup(3, 2013);
632
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST), expected);
632
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST));
633
     }
633
     }
634
 
634
 
635
     @Ignore
635
     @Ignore
637
     public void test_last_monday_of_april_2013() {
637
     public void test_last_monday_of_april_2013() {
638
         LocalDate expected = LocalDate.of(2013, 4, 29);
638
         LocalDate expected = LocalDate.of(2013, 4, 29);
639
         Meetup meetup = new Meetup(4, 2013);
639
         Meetup meetup = new Meetup(4, 2013);
640
-        assertEquals(meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST), expected);
640
+        assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST));
641
     }
641
     }
642
 
642
 
643
     @Ignore
643
     @Ignore
645
     public void test_last_tuesday_of_may_2013() {
645
     public void test_last_tuesday_of_may_2013() {
646
         LocalDate expected = LocalDate.of(2013, 5, 28);
646
         LocalDate expected = LocalDate.of(2013, 5, 28);
647
         Meetup meetup = new Meetup(5, 2013);
647
         Meetup meetup = new Meetup(5, 2013);
648
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST), expected);
648
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST));
649
     }
649
     }
650
 
650
 
651
     @Ignore
651
     @Ignore
653
     public void test_last_tuesday_of_june_2013() {
653
     public void test_last_tuesday_of_june_2013() {
654
         LocalDate expected = LocalDate.of(2013, 6, 25);
654
         LocalDate expected = LocalDate.of(2013, 6, 25);
655
         Meetup meetup = new Meetup(6, 2013);
655
         Meetup meetup = new Meetup(6, 2013);
656
-        assertEquals(meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST), expected);
656
+        assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST));
657
     }
657
     }
658
 
658
 
659
     @Ignore
659
     @Ignore
661
     public void test_last_wednesday_of_july_2013() {
661
     public void test_last_wednesday_of_july_2013() {
662
         LocalDate expected = LocalDate.of(2013, 7, 31);
662
         LocalDate expected = LocalDate.of(2013, 7, 31);
663
         Meetup meetup = new Meetup(7, 2013);
663
         Meetup meetup = new Meetup(7, 2013);
664
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST), expected);
664
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST));
665
     }
665
     }
666
 
666
 
667
     @Ignore
667
     @Ignore
669
     public void test_last_wednesday_of_august_2013() {
669
     public void test_last_wednesday_of_august_2013() {
670
         LocalDate expected = LocalDate.of(2013, 8, 28);
670
         LocalDate expected = LocalDate.of(2013, 8, 28);
671
         Meetup meetup = new Meetup(8, 2013);
671
         Meetup meetup = new Meetup(8, 2013);
672
-        assertEquals(meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST), expected);
672
+        assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST));
673
     }
673
     }
674
 
674
 
675
     @Ignore
675
     @Ignore
677
     public void test_last_thursday_of_september_2013() {
677
     public void test_last_thursday_of_september_2013() {
678
         LocalDate expected = LocalDate.of(2013, 9, 26);
678
         LocalDate expected = LocalDate.of(2013, 9, 26);
679
         Meetup meetup = new Meetup(9, 2013);
679
         Meetup meetup = new Meetup(9, 2013);
680
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST), expected);
680
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST));
681
     }
681
     }
682
 
682
 
683
     @Ignore
683
     @Ignore
685
     public void test_last_thursday_of_october_2013() {
685
     public void test_last_thursday_of_october_2013() {
686
         LocalDate expected = LocalDate.of(2013, 10, 31);
686
         LocalDate expected = LocalDate.of(2013, 10, 31);
687
         Meetup meetup = new Meetup(10, 2013);
687
         Meetup meetup = new Meetup(10, 2013);
688
-        assertEquals(meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST), expected);
688
+        assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST));
689
     }
689
     }
690
 
690
 
691
     @Ignore
691
     @Ignore
693
     public void test_last_friday_of_november_2013() {
693
     public void test_last_friday_of_november_2013() {
694
         LocalDate expected = LocalDate.of(2013, 11, 29);
694
         LocalDate expected = LocalDate.of(2013, 11, 29);
695
         Meetup meetup = new Meetup(11, 2013);
695
         Meetup meetup = new Meetup(11, 2013);
696
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST), expected);
696
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST));
697
     }
697
     }
698
 
698
 
699
     @Ignore
699
     @Ignore
701
     public void test_last_friday_of_december_2013() {
701
     public void test_last_friday_of_december_2013() {
702
         LocalDate expected = LocalDate.of(2013, 12, 27);
702
         LocalDate expected = LocalDate.of(2013, 12, 27);
703
         Meetup meetup = new Meetup(12, 2013);
703
         Meetup meetup = new Meetup(12, 2013);
704
-        assertEquals(meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST), expected);
704
+        assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST));
705
     }
705
     }
706
 
706
 
707
     @Ignore
707
     @Ignore
709
     public void test_last_saturday_of_january_2013() {
709
     public void test_last_saturday_of_january_2013() {
710
         LocalDate expected = LocalDate.of(2013, 1, 26);
710
         LocalDate expected = LocalDate.of(2013, 1, 26);
711
         Meetup meetup = new Meetup(1, 2013);
711
         Meetup meetup = new Meetup(1, 2013);
712
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST), expected);
712
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST));
713
     }
713
     }
714
 
714
 
715
     @Ignore
715
     @Ignore
717
     public void test_last_saturday_of_february_2013() {
717
     public void test_last_saturday_of_february_2013() {
718
         LocalDate expected = LocalDate.of(2013, 2, 23);
718
         LocalDate expected = LocalDate.of(2013, 2, 23);
719
         Meetup meetup = new Meetup(2, 2013);
719
         Meetup meetup = new Meetup(2, 2013);
720
-        assertEquals(meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST), expected);
720
+        assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST));
721
     }
721
     }
722
 
722
 
723
     @Ignore
723
     @Ignore
725
     public void test_last_sunday_of_march_2013() {
725
     public void test_last_sunday_of_march_2013() {
726
         LocalDate expected = LocalDate.of(2013, 3, 31);
726
         LocalDate expected = LocalDate.of(2013, 3, 31);
727
         Meetup meetup = new Meetup(3, 2013);
727
         Meetup meetup = new Meetup(3, 2013);
728
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST), expected);
728
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST));
729
     }
729
     }
730
 
730
 
731
     @Ignore
731
     @Ignore
733
     public void test_last_sunday_of_april_2013() {
733
     public void test_last_sunday_of_april_2013() {
734
         LocalDate expected = LocalDate.of(2013, 4, 28);
734
         LocalDate expected = LocalDate.of(2013, 4, 28);
735
         Meetup meetup = new Meetup(4, 2013);
735
         Meetup meetup = new Meetup(4, 2013);
736
-        assertEquals(meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST), expected);
736
+        assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST));
737
     }
737
     }
738
 }
738
 }

+ 51
- 51
exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java 파일 보기

16
     public ExpectedException expectedException = ExpectedException.none();
16
     public ExpectedException expectedException = ExpectedException.none();
17
 
17
 
18
     @Test
18
     @Test
19
-    public void testCoordinateWithNegativeRankNotAllowed() {
20
-        expectedException.expect(IllegalArgumentException.class);
21
-        expectedException.expectMessage("Coordinate must have positive rank.");
19
+    public void testQueensThatDoNotShareRankFileOrDiagonalCannotAttack() {
20
+        final QueenAttackCalculator calculator
21
+                = new QueenAttackCalculator(new BoardCoordinate(2, 4), new BoardCoordinate(6, 6));
22
 
22
 
23
-        new BoardCoordinate(-2, 2);
23
+        assertFalse(calculator.canQueensAttackOneAnother());
24
     }
24
     }
25
 
25
 
26
     @Ignore
26
     @Ignore
27
     @Test
27
     @Test
28
-    public void testCoordinateWithRankGreaterThan7NotAllowed() {
29
-        expectedException.expect(IllegalArgumentException.class);
30
-        expectedException.expectMessage("Coordinate must have rank <= 7.");
28
+    public void testQueensCanAttackOnTheSameRank() {
29
+        final QueenAttackCalculator calculator
30
+                = new QueenAttackCalculator(new BoardCoordinate(2, 4), new BoardCoordinate(2, 6));
31
 
31
 
32
-        new BoardCoordinate(8, 4);
32
+        assertTrue(calculator.canQueensAttackOneAnother());
33
     }
33
     }
34
 
34
 
35
     @Ignore
35
     @Ignore
36
     @Test
36
     @Test
37
-    public void testCoordinateWithNegativeFileNotAllowed() {
38
-        expectedException.expect(IllegalArgumentException.class);
39
-        expectedException.expectMessage("Coordinate must have positive file.");
37
+    public void testQueensCanAttackOnTheSameFile() {
38
+        final QueenAttackCalculator calculator
39
+                = new QueenAttackCalculator(new BoardCoordinate(4, 5), new BoardCoordinate(2, 5));
40
 
40
 
41
-        new BoardCoordinate(2, -2);
41
+        assertTrue(calculator.canQueensAttackOneAnother());
42
     }
42
     }
43
 
43
 
44
     @Ignore
44
     @Ignore
45
     @Test
45
     @Test
46
-    public void testCoordinateWithFileGreaterThan7NotAllowed() {
47
-        expectedException.expect(IllegalArgumentException.class);
48
-        expectedException.expectMessage("Coordinate must have file <= 7.");
46
+    public void testQueensCanAttackOnFirstDiagonal() {
47
+        final QueenAttackCalculator calculator
48
+                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(0, 4));
49
 
49
 
50
-        new BoardCoordinate(4, 8);
50
+        assertTrue(calculator.canQueensAttackOneAnother());
51
     }
51
     }
52
 
52
 
53
     @Ignore
53
     @Ignore
54
     @Test
54
     @Test
55
-    public void testNullCoordinateNotAllowed() {
56
-        expectedException.expect(IllegalArgumentException.class);
57
-        expectedException.expectMessage("You must supply valid board coordinates for both Queens.");
55
+    public void testQueensCanAttackOnSecondDiagonal() {
56
+        final QueenAttackCalculator calculator
57
+                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(3, 1));
58
 
58
 
59
-        new QueenAttackCalculator(null, new BoardCoordinate(0, 7));
59
+        assertTrue(calculator.canQueensAttackOneAnother());
60
     }
60
     }
61
 
61
 
62
     @Ignore
62
     @Ignore
63
     @Test
63
     @Test
64
-    public void testQueensMustNotOccupyTheSameSquare() {
65
-        expectedException.expect(IllegalArgumentException.class);
66
-        expectedException.expectMessage("Queens may not occupy the same board coordinate.");
64
+    public void testQueensCanAttackOnThirdDiagonal() {
65
+        final QueenAttackCalculator calculator
66
+                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(1, 1));
67
 
67
 
68
-        new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(2, 2));
68
+        assertTrue(calculator.canQueensAttackOneAnother());
69
     }
69
     }
70
 
70
 
71
     @Ignore
71
     @Ignore
72
     @Test
72
     @Test
73
-    public void testQueensThatDoNotShareRankFileOrDiagonalCannotAttack() {
73
+    public void testQueensCanAttackOnFourthDiagonal() {
74
         final QueenAttackCalculator calculator
74
         final QueenAttackCalculator calculator
75
-                = new QueenAttackCalculator(new BoardCoordinate(2, 4), new BoardCoordinate(6, 6));
75
+                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(5, 5));
76
 
76
 
77
-        assertFalse(calculator.canQueensAttackOneAnother());
77
+        assertTrue(calculator.canQueensAttackOneAnother());
78
     }
78
     }
79
 
79
 
80
     @Ignore
80
     @Ignore
81
     @Test
81
     @Test
82
-    public void testQueensCanAttackOnTheSameRank() {
83
-        final QueenAttackCalculator calculator
84
-                = new QueenAttackCalculator(new BoardCoordinate(2, 4), new BoardCoordinate(2, 6));
82
+    public void testCoordinateWithNegativeRankNotAllowed() {
83
+        expectedException.expect(IllegalArgumentException.class);
84
+        expectedException.expectMessage("Coordinate must have positive rank.");
85
 
85
 
86
-        assertTrue(calculator.canQueensAttackOneAnother());
86
+        new BoardCoordinate(-2, 2);
87
     }
87
     }
88
 
88
 
89
     @Ignore
89
     @Ignore
90
     @Test
90
     @Test
91
-    public void testQueensCanAttackOnTheSameFile() {
92
-        final QueenAttackCalculator calculator
93
-                = new QueenAttackCalculator(new BoardCoordinate(4, 5), new BoardCoordinate(2, 5));
91
+    public void testCoordinateWithRankGreaterThan7NotAllowed() {
92
+        expectedException.expect(IllegalArgumentException.class);
93
+        expectedException.expectMessage("Coordinate must have rank <= 7.");
94
 
94
 
95
-        assertTrue(calculator.canQueensAttackOneAnother());
95
+        new BoardCoordinate(8, 4);
96
     }
96
     }
97
 
97
 
98
     @Ignore
98
     @Ignore
99
     @Test
99
     @Test
100
-    public void testQueensCanAttackOnFirstDiagonal() {
101
-        final QueenAttackCalculator calculator
102
-                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(0, 4));
100
+    public void testCoordinateWithNegativeFileNotAllowed() {
101
+        expectedException.expect(IllegalArgumentException.class);
102
+        expectedException.expectMessage("Coordinate must have positive file.");
103
 
103
 
104
-        assertTrue(calculator.canQueensAttackOneAnother());
104
+        new BoardCoordinate(2, -2);
105
     }
105
     }
106
 
106
 
107
     @Ignore
107
     @Ignore
108
     @Test
108
     @Test
109
-    public void testQueensCanAttackOnSecondDiagonal() {
110
-        final QueenAttackCalculator calculator
111
-                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(3, 1));
109
+    public void testCoordinateWithFileGreaterThan7NotAllowed() {
110
+        expectedException.expect(IllegalArgumentException.class);
111
+        expectedException.expectMessage("Coordinate must have file <= 7.");
112
 
112
 
113
-        assertTrue(calculator.canQueensAttackOneAnother());
113
+        new BoardCoordinate(4, 8);
114
     }
114
     }
115
 
115
 
116
     @Ignore
116
     @Ignore
117
     @Test
117
     @Test
118
-    public void testQueensCanAttackOnThirdDiagonal() {
119
-        final QueenAttackCalculator calculator
120
-                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(1, 1));
118
+    public void testNullCoordinateNotAllowed() {
119
+        expectedException.expect(IllegalArgumentException.class);
120
+        expectedException.expectMessage("You must supply valid board coordinates for both Queens.");
121
 
121
 
122
-        assertTrue(calculator.canQueensAttackOneAnother());
122
+        new QueenAttackCalculator(null, new BoardCoordinate(0, 7));
123
     }
123
     }
124
 
124
 
125
     @Ignore
125
     @Ignore
126
     @Test
126
     @Test
127
-    public void testQueensCanAttackOnFourthDiagonal() {
128
-        final QueenAttackCalculator calculator
129
-                = new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(5, 5));
127
+    public void testQueensMustNotOccupyTheSameSquare() {
128
+        expectedException.expect(IllegalArgumentException.class);
129
+        expectedException.expectMessage("Queens may not occupy the same board coordinate.");
130
 
130
 
131
-        assertTrue(calculator.canQueensAttackOneAnother());
131
+        new QueenAttackCalculator(new BoardCoordinate(2, 2), new BoardCoordinate(2, 2));
132
     }
132
     }
133
 
133
 
134
 }
134
 }

+ 17
- 0
exercises/rectangles/build.gradle 파일 보기

1
+apply plugin: "java"
2
+apply plugin: "eclipse"
3
+apply plugin: "idea"
4
+
5
+repositories {
6
+  mavenCentral()
7
+}
8
+
9
+dependencies {
10
+  testCompile "junit:junit:4.12"
11
+}
12
+test {
13
+  testLogging {
14
+    exceptionFormat = 'full'
15
+    events = ["passed", "failed", "skipped"]
16
+  }
17
+}

+ 115
- 0
exercises/rectangles/src/example/java/RectangleCounter.java 파일 보기

1
+import static java.util.Arrays.copyOfRange;
2
+import static java.util.Arrays.stream;
3
+
4
+final class RectangleCounter {
5
+
6
+    int countRectangles(final String[] rawGrid) {
7
+        final int nRows = rawGrid.length;
8
+        if (nRows == 0) return 0;
9
+
10
+        final int nCols = rawGrid[0].length();
11
+        if (nCols == 0) return 0;
12
+
13
+        return new Grid(nRows, nCols, rawGrid).countRectangles();
14
+    }
15
+
16
+    private static final class Grid {
17
+
18
+        private enum Entry {
19
+            CORNER,
20
+            HLINE,
21
+            VLINE,
22
+            SPACE;
23
+
24
+            private static Entry fromChar(final char rawGridEntry) {
25
+                switch (rawGridEntry) {
26
+                    case '+': return CORNER;
27
+                    case '-': return HLINE;
28
+                    case '|': return VLINE;
29
+                    case ' ': return SPACE;
30
+                    default:  throw new IllegalStateException("Grid entry " + rawGridEntry + " not recognized.");
31
+                }
32
+            }
33
+        }
34
+
35
+        private int nRows, nCols;
36
+        private final Entry[][] entries;
37
+
38
+        private Grid(final int nRows, final int nCols, final String[] rawGrid) {
39
+            this.nRows = nRows;
40
+            this.nCols = nCols;
41
+            this.entries = new Entry[nRows][nCols];
42
+
43
+            for (int nRow = 0; nRow < nRows; nRow++) {
44
+                for (int nCol = 0; nCol < nCols; nCol++) {
45
+                    entries[nRow][nCol] = Entry.fromChar(rawGrid[nRow].charAt(nCol));
46
+                }
47
+            }
48
+        }
49
+
50
+        private int countRectangles() {
51
+            int result = 0;
52
+
53
+            for (int topRow = 0; topRow < nRows - 1; topRow++) {
54
+
55
+                for (int leftCol = 0; leftCol < nCols - 1; leftCol++) {
56
+
57
+                    // Only check rectangles that lie below/to the right of our current coordinate:
58
+                    for (int bottomRow = topRow + 1; bottomRow < nRows; bottomRow++) {
59
+
60
+                        for (int rightCol = leftCol + 1; rightCol < nCols; rightCol++) {
61
+
62
+                            if (formsRectangle(topRow, bottomRow, leftCol, rightCol)) {
63
+                                result++;
64
+                            }
65
+                        }
66
+                    }
67
+                }
68
+            }
69
+
70
+            return result;
71
+        }
72
+
73
+        private boolean formsRectangle(
74
+                final int topRow,
75
+                final int bottomRow,
76
+                final int leftCol,
77
+                final int rightCol) {
78
+
79
+            return entries[topRow][leftCol].equals(Entry.CORNER)
80
+                    && entries[topRow][rightCol].equals(Entry.CORNER)
81
+                    && entries[bottomRow][leftCol].equals(Entry.CORNER)
82
+                    && entries[bottomRow][rightCol].equals(Entry.CORNER)
83
+                    && isHorizontalLineSegment(topRow, leftCol, rightCol)
84
+                    && isHorizontalLineSegment(bottomRow, leftCol, rightCol)
85
+                    && isVerticalLineSegment(leftCol, topRow, bottomRow)
86
+                    && isVerticalLineSegment(rightCol, topRow, bottomRow);
87
+        }
88
+
89
+        private boolean isHorizontalLineSegment(final int row, final int leftCol, final int rightCol) {
90
+            return stream(copyOfRange(getRow(row), leftCol, rightCol))
91
+                    .allMatch(entry -> entry.equals(Entry.HLINE) || entry.equals(Entry.CORNER));
92
+        }
93
+
94
+        private boolean isVerticalLineSegment(final int col, final int topRow, final int bottomRow) {
95
+            return stream(copyOfRange(getCol(col), topRow, bottomRow))
96
+                    .allMatch(entry -> entry.equals(Entry.VLINE) || entry.equals(Entry.CORNER));
97
+        }
98
+
99
+        private Entry[] getRow(final int number) {
100
+            return entries[number];
101
+        }
102
+
103
+        private Entry[] getCol(final int number) {
104
+            final Entry[] result = new Entry[nRows];
105
+
106
+            for (int nRow = 0; nRow < nRows; nRow++) {
107
+                result[nRow] = entries[nRow][number];
108
+            }
109
+
110
+            return result;
111
+        }
112
+
113
+    }
114
+
115
+}

+ 5
- 0
exercises/rectangles/src/main/java/RectangleCounter.java 파일 보기

1
+final class RectangleCounter {
2
+
3
+
4
+
5
+}

+ 164
- 0
exercises/rectangles/src/test/java/RectangleCounterTest.java 파일 보기

1
+import org.junit.Before;
2
+import org.junit.Ignore;
3
+import org.junit.Test;
4
+
5
+import static org.junit.Assert.assertEquals;
6
+
7
+public final class RectangleCounterTest {
8
+
9
+    private RectangleCounter rectangleCounter;
10
+
11
+    @Before
12
+    public void setUp() {
13
+        rectangleCounter = new RectangleCounter();
14
+    }
15
+
16
+    @Test
17
+    public void testInputWithNoColumnsContainsNoRectangles() {
18
+        String[] inputGrid = new String[]{};
19
+
20
+        assertEquals(0, rectangleCounter.countRectangles(inputGrid));
21
+    }
22
+
23
+    @Ignore
24
+    @Test
25
+    public void testNonTrivialInputWithNoRectangles() {
26
+        String[] inputGrid = new String[]{" "};
27
+
28
+        assertEquals(0, rectangleCounter.countRectangles(inputGrid));
29
+    }
30
+
31
+    @Ignore
32
+    @Test
33
+    public void testInputWithOneRectangle() {
34
+        String[] inputGrid = new String[]{
35
+                "+-+",
36
+                "| |",
37
+                "+-+"
38
+        };
39
+
40
+        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
41
+    }
42
+
43
+    @Ignore
44
+    @Test
45
+    public void testInputWithTwoRectanglesWithoutSharedEdges() {
46
+        String[] inputGrid = new String[]{
47
+                "  +-+",
48
+                "  | |",
49
+                "+-+-+",
50
+                "| |  ",
51
+                "+-+  "
52
+        };
53
+
54
+        assertEquals(2, rectangleCounter.countRectangles(inputGrid));
55
+    }
56
+
57
+    @Ignore
58
+    @Test
59
+    public void testInputWithFiveRectanglesWithSharedEdges() {
60
+        String[] inputGrid = new String[]{
61
+                "  +-+",
62
+                "  | |",
63
+                "+-+-+",
64
+                "| | |",
65
+                "+-+-+"
66
+        };
67
+
68
+        assertEquals(5, rectangleCounter.countRectangles(inputGrid));
69
+    }
70
+
71
+    @Ignore
72
+    @Test
73
+    public void testThatRectangleOfHeightOneIsCounted() {
74
+        String[] inputGrid = new String[]{
75
+                "+--+",
76
+                "+--+"
77
+        };
78
+
79
+        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
80
+    }
81
+
82
+    @Ignore
83
+    @Test
84
+    public void testThatRectangleOfWidthOneIsCounted() {
85
+        String[] inputGrid = new String[]{
86
+                "++",
87
+                "||",
88
+                "++"
89
+        };
90
+
91
+        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
92
+    }
93
+
94
+    @Ignore
95
+    @Test
96
+    public void testThatOneByOneSquareIsCounted() {
97
+        String[] inputGrid = new String[]{
98
+                "++",
99
+                "++"
100
+        };
101
+
102
+        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
103
+    }
104
+
105
+    @Ignore
106
+    @Test
107
+    public void testThatIncompleteRectanglesAreNotCounted() {
108
+        String[] inputGrid = new String[]{
109
+                "  +-+",
110
+                "    |",
111
+                "+-+-+",
112
+                "| | -",
113
+                "+-+-+"
114
+        };
115
+
116
+        assertEquals(1, rectangleCounter.countRectangles(inputGrid));
117
+    }
118
+
119
+    @Ignore
120
+    @Test
121
+    public void testThatRectanglesOfDifferentSizesAreAllCounted() {
122
+        String[] inputGrid = new String[]{
123
+                "+------+----+",
124
+                "|      |    |",
125
+                "+---+--+    |",
126
+                "|   |       |",
127
+                "+---+-------+"
128
+        };
129
+
130
+        assertEquals(3, rectangleCounter.countRectangles(inputGrid));
131
+    }
132
+
133
+    @Ignore
134
+    @Test
135
+    public void testThatIntersectionsWithoutCornerCharacterDoNotCountAsRectangleCorners() {
136
+        String[] inputGrid = new String[]{
137
+                "+------+----+",
138
+                "|      |    |",
139
+                "+------+    |",
140
+                "|   |       |",
141
+                "+---+-------+"
142
+        };
143
+
144
+        assertEquals(2, rectangleCounter.countRectangles(inputGrid));
145
+    }
146
+
147
+    @Ignore
148
+    @Test
149
+    public void testLargeInputWithManyRectangles() {
150
+        String[] inputGrid = new String[]{
151
+                "+---+--+----+",
152
+                "|   +--+----+",
153
+                "+---+--+    |",
154
+                "|   +--+----+",
155
+                "+---+--+--+-+",
156
+                "+---+--+--+-+",
157
+                "+------+  | |",
158
+                "          +-+"
159
+        };
160
+
161
+        assertEquals(60, rectangleCounter.countRectangles(inputGrid));
162
+    }
163
+
164
+}

+ 2
- 0
exercises/settings.gradle 파일 보기

6
 include 'atbash-cipher'
6
 include 'atbash-cipher'
7
 include 'beer-song'
7
 include 'beer-song'
8
 include 'binary'
8
 include 'binary'
9
+include 'binary-search'
9
 include 'binary-search-tree'
10
 include 'binary-search-tree'
10
 include 'bob'
11
 include 'bob'
11
 include 'bracket-push'
12
 include 'bracket-push'
33
 include 'pig-latin'
34
 include 'pig-latin'
34
 include 'queen-attack'
35
 include 'queen-attack'
35
 include 'raindrops'
36
 include 'raindrops'
37
+include 'rectangles'
36
 include 'rna-transcription'
38
 include 'rna-transcription'
37
 include 'robot-name'
39
 include 'robot-name'
38
 include 'robot-simulator'
40
 include 'robot-simulator'

+ 10
- 13
exercises/word-count/src/test/java/WordCountTest.java 파일 보기

1
+import org.junit.Before;
1
 import org.junit.Test;
2
 import org.junit.Test;
2
 import org.junit.Ignore;
3
 import org.junit.Ignore;
3
 
4
 
10
 
11
 
11
 public class WordCountTest {
12
 public class WordCountTest {
12
 
13
 
13
-    private final WordCount wordCount = new WordCount();
14
+    private WordCount wordCount;
15
+    private Map<String, Integer> actualWordCount;
16
+    private Map<String, Integer> expectedWordCount;
17
+
18
+    @Before
19
+    public void setup() {
20
+        wordCount = new WordCount();
21
+        expectedWordCount = new HashMap<String, Integer>();
22
+    }
14
 
23
 
15
 
24
 
16
     @Test
25
     @Test
17
     public void countOneWord() {
26
     public void countOneWord() {
18
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
19
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
20
         expectedWordCount.put("word", 1);
27
         expectedWordCount.put("word", 1);
21
 
28
 
22
         actualWordCount = wordCount.phrase("word");
29
         actualWordCount = wordCount.phrase("word");
28
     @Ignore
35
     @Ignore
29
     @Test
36
     @Test
30
     public void countOneOfEach() {
37
     public void countOneOfEach() {
31
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
32
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
33
         expectedWordCount.put("one", 1);
38
         expectedWordCount.put("one", 1);
34
         expectedWordCount.put("of", 1);
39
         expectedWordCount.put("of", 1);
35
         expectedWordCount.put("each", 1);
40
         expectedWordCount.put("each", 1);
43
     @Ignore
48
     @Ignore
44
     @Test
49
     @Test
45
     public void countMultipleOccurences() {
50
     public void countMultipleOccurences() {
46
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
47
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
48
         expectedWordCount.put("one", 1);
51
         expectedWordCount.put("one", 1);
49
         expectedWordCount.put("fish", 4);
52
         expectedWordCount.put("fish", 4);
50
         expectedWordCount.put("two", 1);
53
         expectedWordCount.put("two", 1);
60
     @Ignore
63
     @Ignore
61
     @Test
64
     @Test
62
     public void ignorePunctuation() {
65
     public void ignorePunctuation() {
63
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
64
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
65
         expectedWordCount.put("car", 1);
66
         expectedWordCount.put("car", 1);
66
         expectedWordCount.put("carpet", 1);
67
         expectedWordCount.put("carpet", 1);
67
         expectedWordCount.put("as", 1);
68
         expectedWordCount.put("as", 1);
78
     @Ignore
79
     @Ignore
79
     @Test
80
     @Test
80
     public void includeNumbers() {
81
     public void includeNumbers() {
81
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
82
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
83
         expectedWordCount.put("testing", 2);
82
         expectedWordCount.put("testing", 2);
84
         expectedWordCount.put("1", 1);
83
         expectedWordCount.put("1", 1);
85
         expectedWordCount.put("2", 1);
84
         expectedWordCount.put("2", 1);
93
     @Ignore
92
     @Ignore
94
     @Test
93
     @Test
95
     public void normalizeCase() {
94
     public void normalizeCase() {
96
-        Map<String, Integer> actualWordCount = new HashMap<String, Integer>();
97
-        final Map<String, Integer> expectedWordCount = new HashMap<String, Integer>();
98
         expectedWordCount.put("go", 3);
95
         expectedWordCount.put("go", 3);
99
 
96
 
100
         actualWordCount = wordCount.phrase("go Go GO");
97
         actualWordCount = wordCount.phrase("go Go GO");