trackler 2.0.8.34 → 2.0.8.35
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/exercises/phone-number/src/example.c +6 -6
- data/tracks/c/exercises/phone-number/test/test_phone_number.c +50 -5
- data/tracks/csharp/exercises/beer-song/BeerSong.cs +2 -2
- data/tracks/csharp/exercises/beer-song/BeerSongTest.cs +390 -0
- data/tracks/csharp/exercises/beer-song/Example.cs +3 -8
- data/tracks/csharp/exercises/wordy/Example.cs +3 -3
- data/tracks/csharp/exercises/wordy/Wordy.cs +2 -2
- data/tracks/csharp/exercises/wordy/WordyTest.cs +35 -35
- data/tracks/csharp/generators/Data/CanonicalDataValue.cs +17 -3
- data/tracks/csharp/generators/Exercises/BeerSongExercise.cs +33 -0
- data/tracks/csharp/generators/Exercises/EqualityExercise.cs +6 -1
- data/tracks/csharp/generators/Exercises/FoodChainExercise.cs +1 -1
- data/tracks/csharp/generators/Exercises/HelloWorldExercise.cs +9 -0
- data/tracks/csharp/generators/Exercises/NthPrimeExercise.cs +7 -8
- data/tracks/csharp/generators/Exercises/WordyExercise.cs +20 -0
- data/tracks/csharp/generators/Methods/TestMethodOptions.cs +1 -0
- data/tracks/elixir/README.md +1 -1
- data/tracks/go/config.json +9 -0
- data/tracks/go/exercises/accumulate/accumulate.go +5 -0
- data/tracks/go/exercises/change/cases_test.go +83 -0
- data/tracks/go/exercises/change/change_test.go +48 -0
- data/tracks/go/exercises/change/example.go +153 -0
- data/tracks/go/exercises/change/example_gen.go +96 -0
- data/tracks/java/exercises/beer-song/src/example/java/BeerSong.java +4 -7
- data/tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java +15 -7
- data/tracks/julia/img/icon.png +0 -0
- data/tracks/julia/img/icon.svg +49 -11
- data/tracks/objective-c/exercises/bracket-push/BracketPushExample.h +0 -1
- data/tracks/objective-c/exercises/bracket-push/BracketPushExample.m +41 -379
- data/tracks/objective-c/exercises/bracket-push/BracketPushTest.m +12 -32
- data/tracks/objective-c/exercises/sublist/SublistExample.h +8 -1
- data/tracks/objective-c/exercises/sublist/SublistExample.m +27 -42
- data/tracks/objective-c/exercises/sublist/SublistTest.m +17 -20
- data/tracks/python/exercises/say/say_test.py +16 -11
- data/tracks/scala/exercises/pangram/src/test/scala/PangramTest.scala +6 -5
- data/tracks/swift/exercises/bob/Sources/BobExample.swift +2 -2
- data/tracks/swift/exercises/bob/Tests/BobTests/BobTests.swift +8 -8
- metadata +11 -3
- data/tracks/csharp/exercises/beer-song/BeerTest.cs +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 054faf35a16a669389adcb9bc30f2534bb094f29
|
4
|
+
data.tar.gz: 25f6a0ee7eef086e1602b81992e373d413ea6a3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a576c089311d4e93506f3482dbefa4ce87dda1791c05a1e657ff010f94acc30a2cf711c2d32b7d64f6c3370402771096555d08673926e98bab8a28f311e2f89
|
7
|
+
data.tar.gz: 726ca1d529eec0a0977cd87f41c497aa627811f6f15c1b54ae06a5b191df96269debf4e9b4530624ae2a277ed9fc064774b0c7c6db6091ab515da5c2d7b677a6
|
data/lib/trackler/version.rb
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
#define EXTENSION_OFFSET (AREA_CODE_LENGTH + EXCHANGE_LENGTH)
|
15
15
|
|
16
16
|
#define INVALID_NUMBER_RESULT "0000000000"
|
17
|
+
#define VALID_NON_DIGIT_CHARS " .-()"
|
17
18
|
|
18
19
|
static void remove_leading_digit(char *phone_number)
|
19
20
|
{
|
@@ -25,14 +26,17 @@ static void remove_leading_digit(char *phone_number)
|
|
25
26
|
char *phone_number_clean(const char *input)
|
26
27
|
{
|
27
28
|
char *output = calloc(VALID_NUMBER_LENGTH + 2, sizeof(char));
|
28
|
-
|
29
29
|
size_t j = 0;
|
30
|
+
|
30
31
|
for (size_t i = 0; i < strlen(input); i++) {
|
31
32
|
if (isdigit(input[i])) {
|
32
|
-
if (j > VALID_NUMBER_LENGTH) {
|
33
|
+
if (j > VALID_NUMBER_LENGTH + 1) {
|
33
34
|
break;
|
34
35
|
}
|
35
36
|
output[j++] = input[i];
|
37
|
+
} else if (strchr(VALID_NON_DIGIT_CHARS, input[i]) == NULL) {
|
38
|
+
strcpy(output, INVALID_NUMBER_RESULT);
|
39
|
+
return output;
|
36
40
|
}
|
37
41
|
}
|
38
42
|
|
@@ -45,7 +49,6 @@ char *phone_number_clean(const char *input)
|
|
45
49
|
strcpy(output, INVALID_NUMBER_RESULT);
|
46
50
|
}
|
47
51
|
}
|
48
|
-
|
49
52
|
return output;
|
50
53
|
}
|
51
54
|
|
@@ -53,7 +56,6 @@ char *phone_number_get_area_code(const char *input)
|
|
53
56
|
{
|
54
57
|
char *output = phone_number_clean(input);
|
55
58
|
output[3] = '\0';
|
56
|
-
|
57
59
|
return output;
|
58
60
|
}
|
59
61
|
|
@@ -64,8 +66,6 @@ char *phone_number_format(const char *input)
|
|
64
66
|
|
65
67
|
sprintf(output, "(%.3s) %.3s-%.4s", cleaned_input,
|
66
68
|
&cleaned_input[AREA_CODE_LENGTH], &cleaned_input[EXTENSION_OFFSET]);
|
67
|
-
|
68
69
|
free(cleaned_input);
|
69
|
-
|
70
70
|
return output;
|
71
71
|
}
|
@@ -27,6 +27,22 @@ void test_cleans_numbers_with_dots(void)
|
|
27
27
|
test_phone_number_clean(input, expected);
|
28
28
|
}
|
29
29
|
|
30
|
+
void test_cleans_numbers_with_multiple_spaces(void)
|
31
|
+
{
|
32
|
+
const char input[] = "123 456 7890 ";
|
33
|
+
const char expected[] = "1234567890";
|
34
|
+
|
35
|
+
test_phone_number_clean(input, expected);
|
36
|
+
}
|
37
|
+
|
38
|
+
void test_invalid_when_9_digits(void)
|
39
|
+
{
|
40
|
+
const char input[] = "123456789";
|
41
|
+
const char expected[] = "0000000000";
|
42
|
+
|
43
|
+
test_phone_number_clean(input, expected);
|
44
|
+
}
|
45
|
+
|
30
46
|
void test_valid_when_11_digits_and_first_digit_is_1(void)
|
31
47
|
{
|
32
48
|
const char input[] = "11234567890";
|
@@ -35,7 +51,7 @@ void test_valid_when_11_digits_and_first_digit_is_1(void)
|
|
35
51
|
test_phone_number_clean(input, expected);
|
36
52
|
}
|
37
53
|
|
38
|
-
void
|
54
|
+
void test_invalid_when_11_digits_and_first_digit_not_1(void)
|
39
55
|
{
|
40
56
|
const char input[] = "21234567890";
|
41
57
|
const char expected[] = "0000000000";
|
@@ -43,9 +59,33 @@ void test_invalid_when_11_digits(void)
|
|
43
59
|
test_phone_number_clean(input, expected);
|
44
60
|
}
|
45
61
|
|
46
|
-
void
|
62
|
+
void test_invalid_when_more_than_11_digits(void)
|
47
63
|
{
|
48
|
-
const char input[] = "
|
64
|
+
const char input[] = "121234567890";
|
65
|
+
const char expected[] = "0000000000";
|
66
|
+
|
67
|
+
test_phone_number_clean(input, expected);
|
68
|
+
}
|
69
|
+
|
70
|
+
void test_invalid_with_letters(void)
|
71
|
+
{
|
72
|
+
const char input[] = "123-abc-7890";
|
73
|
+
const char expected[] = "0000000000";
|
74
|
+
|
75
|
+
test_phone_number_clean(input, expected);
|
76
|
+
}
|
77
|
+
|
78
|
+
void test_invalid_with_punctuations(void)
|
79
|
+
{
|
80
|
+
const char input[] = "123-@:!-7890";
|
81
|
+
const char expected[] = "0000000000";
|
82
|
+
|
83
|
+
test_phone_number_clean(input, expected);
|
84
|
+
}
|
85
|
+
|
86
|
+
void test_invalid_with_right_number_of_digits_but_letters_mixed_in(void)
|
87
|
+
{
|
88
|
+
const char input[] = "1a2b3c4d5e6f7g8h9i0j";
|
49
89
|
const char expected[] = "0000000000";
|
50
90
|
|
51
91
|
test_phone_number_clean(input, expected);
|
@@ -96,9 +136,14 @@ int main(void)
|
|
96
136
|
|
97
137
|
RUN_TEST(test_cleans_parens_dashes_and_spaces_from_the_number);
|
98
138
|
RUN_TEST(test_cleans_numbers_with_dots);
|
99
|
-
RUN_TEST(
|
100
|
-
RUN_TEST(test_invalid_when_11_digits);
|
139
|
+
RUN_TEST(test_cleans_numbers_with_multiple_spaces);
|
101
140
|
RUN_TEST(test_invalid_when_9_digits);
|
141
|
+
RUN_TEST(test_valid_when_11_digits_and_first_digit_is_1);
|
142
|
+
RUN_TEST(test_invalid_when_11_digits_and_first_digit_not_1);
|
143
|
+
RUN_TEST(test_invalid_when_more_than_11_digits);
|
144
|
+
RUN_TEST(test_invalid_with_letters);
|
145
|
+
RUN_TEST(test_invalid_with_punctuations);
|
146
|
+
RUN_TEST(test_invalid_with_right_number_of_digits_but_letters_mixed_in);
|
102
147
|
RUN_TEST(test_returns_area_code);
|
103
148
|
RUN_TEST(test_formats_a_number);
|
104
149
|
RUN_TEST(test_cleans_number_before_formatting);
|
@@ -1,13 +1,13 @@
|
|
1
1
|
using System;
|
2
2
|
|
3
|
-
public static class
|
3
|
+
public static class BeerSong
|
4
4
|
{
|
5
5
|
public static string Verse(int number)
|
6
6
|
{
|
7
7
|
throw new NotImplementedException("You need to implement this function.");
|
8
8
|
}
|
9
9
|
|
10
|
-
public static string
|
10
|
+
public static string Verses(int begin, int end)
|
11
11
|
{
|
12
12
|
throw new NotImplementedException("You need to implement this function.");
|
13
13
|
}
|
@@ -0,0 +1,390 @@
|
|
1
|
+
using Xunit;
|
2
|
+
|
3
|
+
public class BeerSongTest
|
4
|
+
{
|
5
|
+
[Fact]
|
6
|
+
public void First_generic_verse()
|
7
|
+
{
|
8
|
+
var expected =
|
9
|
+
"99 bottles of beer on the wall, 99 bottles of beer.\n"+
|
10
|
+
"Take one down and pass it around, 98 bottles of beer on the wall.\n"+
|
11
|
+
"";
|
12
|
+
Assert.Equal(expected, BeerSong.Verse(99));
|
13
|
+
}
|
14
|
+
|
15
|
+
[Fact]
|
16
|
+
public void Last_generic_verse()
|
17
|
+
{
|
18
|
+
var expected =
|
19
|
+
"3 bottles of beer on the wall, 3 bottles of beer.\n"+
|
20
|
+
"Take one down and pass it around, 2 bottles of beer on the wall.\n"+
|
21
|
+
"";
|
22
|
+
Assert.Equal(expected, BeerSong.Verse(3));
|
23
|
+
}
|
24
|
+
|
25
|
+
[Fact]
|
26
|
+
public void Verse_2()
|
27
|
+
{
|
28
|
+
var expected =
|
29
|
+
"2 bottles of beer on the wall, 2 bottles of beer.\n"+
|
30
|
+
"Take one down and pass it around, 1 bottle of beer on the wall.\n"+
|
31
|
+
"";
|
32
|
+
Assert.Equal(expected, BeerSong.Verse(2));
|
33
|
+
}
|
34
|
+
|
35
|
+
[Fact]
|
36
|
+
public void Verse_1()
|
37
|
+
{
|
38
|
+
var expected =
|
39
|
+
"1 bottle of beer on the wall, 1 bottle of beer.\n"+
|
40
|
+
"Take it down and pass it around, no more bottles of beer on the wall.\n"+
|
41
|
+
"";
|
42
|
+
Assert.Equal(expected, BeerSong.Verse(1));
|
43
|
+
}
|
44
|
+
|
45
|
+
[Fact]
|
46
|
+
public void Verse_0()
|
47
|
+
{
|
48
|
+
var expected =
|
49
|
+
"No more bottles of beer on the wall, no more bottles of beer.\n"+
|
50
|
+
"Go to the store and buy some more, 99 bottles of beer on the wall.\n"+
|
51
|
+
"";
|
52
|
+
Assert.Equal(expected, BeerSong.Verse(0));
|
53
|
+
}
|
54
|
+
|
55
|
+
[Fact]
|
56
|
+
public void First_two_verses()
|
57
|
+
{
|
58
|
+
var expected =
|
59
|
+
"99 bottles of beer on the wall, 99 bottles of beer.\n"+
|
60
|
+
"Take one down and pass it around, 98 bottles of beer on the wall.\n"+
|
61
|
+
"\n"+
|
62
|
+
"98 bottles of beer on the wall, 98 bottles of beer.\n"+
|
63
|
+
"Take one down and pass it around, 97 bottles of beer on the wall.\n"+
|
64
|
+
"";
|
65
|
+
Assert.Equal(expected, BeerSong.Verses(99, 98));
|
66
|
+
}
|
67
|
+
|
68
|
+
[Fact]
|
69
|
+
public void Last_three_verses()
|
70
|
+
{
|
71
|
+
var expected =
|
72
|
+
"2 bottles of beer on the wall, 2 bottles of beer.\n"+
|
73
|
+
"Take one down and pass it around, 1 bottle of beer on the wall.\n"+
|
74
|
+
"\n"+
|
75
|
+
"1 bottle of beer on the wall, 1 bottle of beer.\n"+
|
76
|
+
"Take it down and pass it around, no more bottles of beer on the wall.\n"+
|
77
|
+
"\n"+
|
78
|
+
"No more bottles of beer on the wall, no more bottles of beer.\n"+
|
79
|
+
"Go to the store and buy some more, 99 bottles of beer on the wall.\n"+
|
80
|
+
"";
|
81
|
+
Assert.Equal(expected, BeerSong.Verses(2, 0));
|
82
|
+
}
|
83
|
+
|
84
|
+
[Fact]
|
85
|
+
public void All_verses()
|
86
|
+
{
|
87
|
+
var expected =
|
88
|
+
"99 bottles of beer on the wall, 99 bottles of beer.\n"+
|
89
|
+
"Take one down and pass it around, 98 bottles of beer on the wall.\n"+
|
90
|
+
"\n"+
|
91
|
+
"98 bottles of beer on the wall, 98 bottles of beer.\n"+
|
92
|
+
"Take one down and pass it around, 97 bottles of beer on the wall.\n"+
|
93
|
+
"\n"+
|
94
|
+
"97 bottles of beer on the wall, 97 bottles of beer.\n"+
|
95
|
+
"Take one down and pass it around, 96 bottles of beer on the wall.\n"+
|
96
|
+
"\n"+
|
97
|
+
"96 bottles of beer on the wall, 96 bottles of beer.\n"+
|
98
|
+
"Take one down and pass it around, 95 bottles of beer on the wall.\n"+
|
99
|
+
"\n"+
|
100
|
+
"95 bottles of beer on the wall, 95 bottles of beer.\n"+
|
101
|
+
"Take one down and pass it around, 94 bottles of beer on the wall.\n"+
|
102
|
+
"\n"+
|
103
|
+
"94 bottles of beer on the wall, 94 bottles of beer.\n"+
|
104
|
+
"Take one down and pass it around, 93 bottles of beer on the wall.\n"+
|
105
|
+
"\n"+
|
106
|
+
"93 bottles of beer on the wall, 93 bottles of beer.\n"+
|
107
|
+
"Take one down and pass it around, 92 bottles of beer on the wall.\n"+
|
108
|
+
"\n"+
|
109
|
+
"92 bottles of beer on the wall, 92 bottles of beer.\n"+
|
110
|
+
"Take one down and pass it around, 91 bottles of beer on the wall.\n"+
|
111
|
+
"\n"+
|
112
|
+
"91 bottles of beer on the wall, 91 bottles of beer.\n"+
|
113
|
+
"Take one down and pass it around, 90 bottles of beer on the wall.\n"+
|
114
|
+
"\n"+
|
115
|
+
"90 bottles of beer on the wall, 90 bottles of beer.\n"+
|
116
|
+
"Take one down and pass it around, 89 bottles of beer on the wall.\n"+
|
117
|
+
"\n"+
|
118
|
+
"89 bottles of beer on the wall, 89 bottles of beer.\n"+
|
119
|
+
"Take one down and pass it around, 88 bottles of beer on the wall.\n"+
|
120
|
+
"\n"+
|
121
|
+
"88 bottles of beer on the wall, 88 bottles of beer.\n"+
|
122
|
+
"Take one down and pass it around, 87 bottles of beer on the wall.\n"+
|
123
|
+
"\n"+
|
124
|
+
"87 bottles of beer on the wall, 87 bottles of beer.\n"+
|
125
|
+
"Take one down and pass it around, 86 bottles of beer on the wall.\n"+
|
126
|
+
"\n"+
|
127
|
+
"86 bottles of beer on the wall, 86 bottles of beer.\n"+
|
128
|
+
"Take one down and pass it around, 85 bottles of beer on the wall.\n"+
|
129
|
+
"\n"+
|
130
|
+
"85 bottles of beer on the wall, 85 bottles of beer.\n"+
|
131
|
+
"Take one down and pass it around, 84 bottles of beer on the wall.\n"+
|
132
|
+
"\n"+
|
133
|
+
"84 bottles of beer on the wall, 84 bottles of beer.\n"+
|
134
|
+
"Take one down and pass it around, 83 bottles of beer on the wall.\n"+
|
135
|
+
"\n"+
|
136
|
+
"83 bottles of beer on the wall, 83 bottles of beer.\n"+
|
137
|
+
"Take one down and pass it around, 82 bottles of beer on the wall.\n"+
|
138
|
+
"\n"+
|
139
|
+
"82 bottles of beer on the wall, 82 bottles of beer.\n"+
|
140
|
+
"Take one down and pass it around, 81 bottles of beer on the wall.\n"+
|
141
|
+
"\n"+
|
142
|
+
"81 bottles of beer on the wall, 81 bottles of beer.\n"+
|
143
|
+
"Take one down and pass it around, 80 bottles of beer on the wall.\n"+
|
144
|
+
"\n"+
|
145
|
+
"80 bottles of beer on the wall, 80 bottles of beer.\n"+
|
146
|
+
"Take one down and pass it around, 79 bottles of beer on the wall.\n"+
|
147
|
+
"\n"+
|
148
|
+
"79 bottles of beer on the wall, 79 bottles of beer.\n"+
|
149
|
+
"Take one down and pass it around, 78 bottles of beer on the wall.\n"+
|
150
|
+
"\n"+
|
151
|
+
"78 bottles of beer on the wall, 78 bottles of beer.\n"+
|
152
|
+
"Take one down and pass it around, 77 bottles of beer on the wall.\n"+
|
153
|
+
"\n"+
|
154
|
+
"77 bottles of beer on the wall, 77 bottles of beer.\n"+
|
155
|
+
"Take one down and pass it around, 76 bottles of beer on the wall.\n"+
|
156
|
+
"\n"+
|
157
|
+
"76 bottles of beer on the wall, 76 bottles of beer.\n"+
|
158
|
+
"Take one down and pass it around, 75 bottles of beer on the wall.\n"+
|
159
|
+
"\n"+
|
160
|
+
"75 bottles of beer on the wall, 75 bottles of beer.\n"+
|
161
|
+
"Take one down and pass it around, 74 bottles of beer on the wall.\n"+
|
162
|
+
"\n"+
|
163
|
+
"74 bottles of beer on the wall, 74 bottles of beer.\n"+
|
164
|
+
"Take one down and pass it around, 73 bottles of beer on the wall.\n"+
|
165
|
+
"\n"+
|
166
|
+
"73 bottles of beer on the wall, 73 bottles of beer.\n"+
|
167
|
+
"Take one down and pass it around, 72 bottles of beer on the wall.\n"+
|
168
|
+
"\n"+
|
169
|
+
"72 bottles of beer on the wall, 72 bottles of beer.\n"+
|
170
|
+
"Take one down and pass it around, 71 bottles of beer on the wall.\n"+
|
171
|
+
"\n"+
|
172
|
+
"71 bottles of beer on the wall, 71 bottles of beer.\n"+
|
173
|
+
"Take one down and pass it around, 70 bottles of beer on the wall.\n"+
|
174
|
+
"\n"+
|
175
|
+
"70 bottles of beer on the wall, 70 bottles of beer.\n"+
|
176
|
+
"Take one down and pass it around, 69 bottles of beer on the wall.\n"+
|
177
|
+
"\n"+
|
178
|
+
"69 bottles of beer on the wall, 69 bottles of beer.\n"+
|
179
|
+
"Take one down and pass it around, 68 bottles of beer on the wall.\n"+
|
180
|
+
"\n"+
|
181
|
+
"68 bottles of beer on the wall, 68 bottles of beer.\n"+
|
182
|
+
"Take one down and pass it around, 67 bottles of beer on the wall.\n"+
|
183
|
+
"\n"+
|
184
|
+
"67 bottles of beer on the wall, 67 bottles of beer.\n"+
|
185
|
+
"Take one down and pass it around, 66 bottles of beer on the wall.\n"+
|
186
|
+
"\n"+
|
187
|
+
"66 bottles of beer on the wall, 66 bottles of beer.\n"+
|
188
|
+
"Take one down and pass it around, 65 bottles of beer on the wall.\n"+
|
189
|
+
"\n"+
|
190
|
+
"65 bottles of beer on the wall, 65 bottles of beer.\n"+
|
191
|
+
"Take one down and pass it around, 64 bottles of beer on the wall.\n"+
|
192
|
+
"\n"+
|
193
|
+
"64 bottles of beer on the wall, 64 bottles of beer.\n"+
|
194
|
+
"Take one down and pass it around, 63 bottles of beer on the wall.\n"+
|
195
|
+
"\n"+
|
196
|
+
"63 bottles of beer on the wall, 63 bottles of beer.\n"+
|
197
|
+
"Take one down and pass it around, 62 bottles of beer on the wall.\n"+
|
198
|
+
"\n"+
|
199
|
+
"62 bottles of beer on the wall, 62 bottles of beer.\n"+
|
200
|
+
"Take one down and pass it around, 61 bottles of beer on the wall.\n"+
|
201
|
+
"\n"+
|
202
|
+
"61 bottles of beer on the wall, 61 bottles of beer.\n"+
|
203
|
+
"Take one down and pass it around, 60 bottles of beer on the wall.\n"+
|
204
|
+
"\n"+
|
205
|
+
"60 bottles of beer on the wall, 60 bottles of beer.\n"+
|
206
|
+
"Take one down and pass it around, 59 bottles of beer on the wall.\n"+
|
207
|
+
"\n"+
|
208
|
+
"59 bottles of beer on the wall, 59 bottles of beer.\n"+
|
209
|
+
"Take one down and pass it around, 58 bottles of beer on the wall.\n"+
|
210
|
+
"\n"+
|
211
|
+
"58 bottles of beer on the wall, 58 bottles of beer.\n"+
|
212
|
+
"Take one down and pass it around, 57 bottles of beer on the wall.\n"+
|
213
|
+
"\n"+
|
214
|
+
"57 bottles of beer on the wall, 57 bottles of beer.\n"+
|
215
|
+
"Take one down and pass it around, 56 bottles of beer on the wall.\n"+
|
216
|
+
"\n"+
|
217
|
+
"56 bottles of beer on the wall, 56 bottles of beer.\n"+
|
218
|
+
"Take one down and pass it around, 55 bottles of beer on the wall.\n"+
|
219
|
+
"\n"+
|
220
|
+
"55 bottles of beer on the wall, 55 bottles of beer.\n"+
|
221
|
+
"Take one down and pass it around, 54 bottles of beer on the wall.\n"+
|
222
|
+
"\n"+
|
223
|
+
"54 bottles of beer on the wall, 54 bottles of beer.\n"+
|
224
|
+
"Take one down and pass it around, 53 bottles of beer on the wall.\n"+
|
225
|
+
"\n"+
|
226
|
+
"53 bottles of beer on the wall, 53 bottles of beer.\n"+
|
227
|
+
"Take one down and pass it around, 52 bottles of beer on the wall.\n"+
|
228
|
+
"\n"+
|
229
|
+
"52 bottles of beer on the wall, 52 bottles of beer.\n"+
|
230
|
+
"Take one down and pass it around, 51 bottles of beer on the wall.\n"+
|
231
|
+
"\n"+
|
232
|
+
"51 bottles of beer on the wall, 51 bottles of beer.\n"+
|
233
|
+
"Take one down and pass it around, 50 bottles of beer on the wall.\n"+
|
234
|
+
"\n"+
|
235
|
+
"50 bottles of beer on the wall, 50 bottles of beer.\n"+
|
236
|
+
"Take one down and pass it around, 49 bottles of beer on the wall.\n"+
|
237
|
+
"\n"+
|
238
|
+
"49 bottles of beer on the wall, 49 bottles of beer.\n"+
|
239
|
+
"Take one down and pass it around, 48 bottles of beer on the wall.\n"+
|
240
|
+
"\n"+
|
241
|
+
"48 bottles of beer on the wall, 48 bottles of beer.\n"+
|
242
|
+
"Take one down and pass it around, 47 bottles of beer on the wall.\n"+
|
243
|
+
"\n"+
|
244
|
+
"47 bottles of beer on the wall, 47 bottles of beer.\n"+
|
245
|
+
"Take one down and pass it around, 46 bottles of beer on the wall.\n"+
|
246
|
+
"\n"+
|
247
|
+
"46 bottles of beer on the wall, 46 bottles of beer.\n"+
|
248
|
+
"Take one down and pass it around, 45 bottles of beer on the wall.\n"+
|
249
|
+
"\n"+
|
250
|
+
"45 bottles of beer on the wall, 45 bottles of beer.\n"+
|
251
|
+
"Take one down and pass it around, 44 bottles of beer on the wall.\n"+
|
252
|
+
"\n"+
|
253
|
+
"44 bottles of beer on the wall, 44 bottles of beer.\n"+
|
254
|
+
"Take one down and pass it around, 43 bottles of beer on the wall.\n"+
|
255
|
+
"\n"+
|
256
|
+
"43 bottles of beer on the wall, 43 bottles of beer.\n"+
|
257
|
+
"Take one down and pass it around, 42 bottles of beer on the wall.\n"+
|
258
|
+
"\n"+
|
259
|
+
"42 bottles of beer on the wall, 42 bottles of beer.\n"+
|
260
|
+
"Take one down and pass it around, 41 bottles of beer on the wall.\n"+
|
261
|
+
"\n"+
|
262
|
+
"41 bottles of beer on the wall, 41 bottles of beer.\n"+
|
263
|
+
"Take one down and pass it around, 40 bottles of beer on the wall.\n"+
|
264
|
+
"\n"+
|
265
|
+
"40 bottles of beer on the wall, 40 bottles of beer.\n"+
|
266
|
+
"Take one down and pass it around, 39 bottles of beer on the wall.\n"+
|
267
|
+
"\n"+
|
268
|
+
"39 bottles of beer on the wall, 39 bottles of beer.\n"+
|
269
|
+
"Take one down and pass it around, 38 bottles of beer on the wall.\n"+
|
270
|
+
"\n"+
|
271
|
+
"38 bottles of beer on the wall, 38 bottles of beer.\n"+
|
272
|
+
"Take one down and pass it around, 37 bottles of beer on the wall.\n"+
|
273
|
+
"\n"+
|
274
|
+
"37 bottles of beer on the wall, 37 bottles of beer.\n"+
|
275
|
+
"Take one down and pass it around, 36 bottles of beer on the wall.\n"+
|
276
|
+
"\n"+
|
277
|
+
"36 bottles of beer on the wall, 36 bottles of beer.\n"+
|
278
|
+
"Take one down and pass it around, 35 bottles of beer on the wall.\n"+
|
279
|
+
"\n"+
|
280
|
+
"35 bottles of beer on the wall, 35 bottles of beer.\n"+
|
281
|
+
"Take one down and pass it around, 34 bottles of beer on the wall.\n"+
|
282
|
+
"\n"+
|
283
|
+
"34 bottles of beer on the wall, 34 bottles of beer.\n"+
|
284
|
+
"Take one down and pass it around, 33 bottles of beer on the wall.\n"+
|
285
|
+
"\n"+
|
286
|
+
"33 bottles of beer on the wall, 33 bottles of beer.\n"+
|
287
|
+
"Take one down and pass it around, 32 bottles of beer on the wall.\n"+
|
288
|
+
"\n"+
|
289
|
+
"32 bottles of beer on the wall, 32 bottles of beer.\n"+
|
290
|
+
"Take one down and pass it around, 31 bottles of beer on the wall.\n"+
|
291
|
+
"\n"+
|
292
|
+
"31 bottles of beer on the wall, 31 bottles of beer.\n"+
|
293
|
+
"Take one down and pass it around, 30 bottles of beer on the wall.\n"+
|
294
|
+
"\n"+
|
295
|
+
"30 bottles of beer on the wall, 30 bottles of beer.\n"+
|
296
|
+
"Take one down and pass it around, 29 bottles of beer on the wall.\n"+
|
297
|
+
"\n"+
|
298
|
+
"29 bottles of beer on the wall, 29 bottles of beer.\n"+
|
299
|
+
"Take one down and pass it around, 28 bottles of beer on the wall.\n"+
|
300
|
+
"\n"+
|
301
|
+
"28 bottles of beer on the wall, 28 bottles of beer.\n"+
|
302
|
+
"Take one down and pass it around, 27 bottles of beer on the wall.\n"+
|
303
|
+
"\n"+
|
304
|
+
"27 bottles of beer on the wall, 27 bottles of beer.\n"+
|
305
|
+
"Take one down and pass it around, 26 bottles of beer on the wall.\n"+
|
306
|
+
"\n"+
|
307
|
+
"26 bottles of beer on the wall, 26 bottles of beer.\n"+
|
308
|
+
"Take one down and pass it around, 25 bottles of beer on the wall.\n"+
|
309
|
+
"\n"+
|
310
|
+
"25 bottles of beer on the wall, 25 bottles of beer.\n"+
|
311
|
+
"Take one down and pass it around, 24 bottles of beer on the wall.\n"+
|
312
|
+
"\n"+
|
313
|
+
"24 bottles of beer on the wall, 24 bottles of beer.\n"+
|
314
|
+
"Take one down and pass it around, 23 bottles of beer on the wall.\n"+
|
315
|
+
"\n"+
|
316
|
+
"23 bottles of beer on the wall, 23 bottles of beer.\n"+
|
317
|
+
"Take one down and pass it around, 22 bottles of beer on the wall.\n"+
|
318
|
+
"\n"+
|
319
|
+
"22 bottles of beer on the wall, 22 bottles of beer.\n"+
|
320
|
+
"Take one down and pass it around, 21 bottles of beer on the wall.\n"+
|
321
|
+
"\n"+
|
322
|
+
"21 bottles of beer on the wall, 21 bottles of beer.\n"+
|
323
|
+
"Take one down and pass it around, 20 bottles of beer on the wall.\n"+
|
324
|
+
"\n"+
|
325
|
+
"20 bottles of beer on the wall, 20 bottles of beer.\n"+
|
326
|
+
"Take one down and pass it around, 19 bottles of beer on the wall.\n"+
|
327
|
+
"\n"+
|
328
|
+
"19 bottles of beer on the wall, 19 bottles of beer.\n"+
|
329
|
+
"Take one down and pass it around, 18 bottles of beer on the wall.\n"+
|
330
|
+
"\n"+
|
331
|
+
"18 bottles of beer on the wall, 18 bottles of beer.\n"+
|
332
|
+
"Take one down and pass it around, 17 bottles of beer on the wall.\n"+
|
333
|
+
"\n"+
|
334
|
+
"17 bottles of beer on the wall, 17 bottles of beer.\n"+
|
335
|
+
"Take one down and pass it around, 16 bottles of beer on the wall.\n"+
|
336
|
+
"\n"+
|
337
|
+
"16 bottles of beer on the wall, 16 bottles of beer.\n"+
|
338
|
+
"Take one down and pass it around, 15 bottles of beer on the wall.\n"+
|
339
|
+
"\n"+
|
340
|
+
"15 bottles of beer on the wall, 15 bottles of beer.\n"+
|
341
|
+
"Take one down and pass it around, 14 bottles of beer on the wall.\n"+
|
342
|
+
"\n"+
|
343
|
+
"14 bottles of beer on the wall, 14 bottles of beer.\n"+
|
344
|
+
"Take one down and pass it around, 13 bottles of beer on the wall.\n"+
|
345
|
+
"\n"+
|
346
|
+
"13 bottles of beer on the wall, 13 bottles of beer.\n"+
|
347
|
+
"Take one down and pass it around, 12 bottles of beer on the wall.\n"+
|
348
|
+
"\n"+
|
349
|
+
"12 bottles of beer on the wall, 12 bottles of beer.\n"+
|
350
|
+
"Take one down and pass it around, 11 bottles of beer on the wall.\n"+
|
351
|
+
"\n"+
|
352
|
+
"11 bottles of beer on the wall, 11 bottles of beer.\n"+
|
353
|
+
"Take one down and pass it around, 10 bottles of beer on the wall.\n"+
|
354
|
+
"\n"+
|
355
|
+
"10 bottles of beer on the wall, 10 bottles of beer.\n"+
|
356
|
+
"Take one down and pass it around, 9 bottles of beer on the wall.\n"+
|
357
|
+
"\n"+
|
358
|
+
"9 bottles of beer on the wall, 9 bottles of beer.\n"+
|
359
|
+
"Take one down and pass it around, 8 bottles of beer on the wall.\n"+
|
360
|
+
"\n"+
|
361
|
+
"8 bottles of beer on the wall, 8 bottles of beer.\n"+
|
362
|
+
"Take one down and pass it around, 7 bottles of beer on the wall.\n"+
|
363
|
+
"\n"+
|
364
|
+
"7 bottles of beer on the wall, 7 bottles of beer.\n"+
|
365
|
+
"Take one down and pass it around, 6 bottles of beer on the wall.\n"+
|
366
|
+
"\n"+
|
367
|
+
"6 bottles of beer on the wall, 6 bottles of beer.\n"+
|
368
|
+
"Take one down and pass it around, 5 bottles of beer on the wall.\n"+
|
369
|
+
"\n"+
|
370
|
+
"5 bottles of beer on the wall, 5 bottles of beer.\n"+
|
371
|
+
"Take one down and pass it around, 4 bottles of beer on the wall.\n"+
|
372
|
+
"\n"+
|
373
|
+
"4 bottles of beer on the wall, 4 bottles of beer.\n"+
|
374
|
+
"Take one down and pass it around, 3 bottles of beer on the wall.\n"+
|
375
|
+
"\n"+
|
376
|
+
"3 bottles of beer on the wall, 3 bottles of beer.\n"+
|
377
|
+
"Take one down and pass it around, 2 bottles of beer on the wall.\n"+
|
378
|
+
"\n"+
|
379
|
+
"2 bottles of beer on the wall, 2 bottles of beer.\n"+
|
380
|
+
"Take one down and pass it around, 1 bottle of beer on the wall.\n"+
|
381
|
+
"\n"+
|
382
|
+
"1 bottle of beer on the wall, 1 bottle of beer.\n"+
|
383
|
+
"Take it down and pass it around, no more bottles of beer on the wall.\n"+
|
384
|
+
"\n"+
|
385
|
+
"No more bottles of beer on the wall, no more bottles of beer.\n"+
|
386
|
+
"Go to the store and buy some more, 99 bottles of beer on the wall.\n"+
|
387
|
+
"";
|
388
|
+
Assert.Equal(expected, BeerSong.Verses(99, 0));
|
389
|
+
}
|
390
|
+
}
|