Kaynağa Gözat

Beer Song refactor to instance methods

Refactoring from static methods to instance methods
Souvatzis Vasilios 9 yıl önce
ebeveyn
işleme
f5593e5228

+ 4
- 7
exercises/beer-song/src/example/java/BeerSong.java Dosyayı Görüntüle

1
 public class BeerSong {
1
 public class BeerSong {
2
-    public static String verse(int number)
3
-    {
4
-        switch (number)
5
-        {
2
+    public String verse(int number) {
3
+        switch (number) {
6
             case 0:
4
             case 0:
7
                 return "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n\n";
5
                 return "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n\n";
8
             case 1:
6
             case 1:
14
         }
12
         }
15
     }
13
     }
16
 
14
 
17
-    public static String sing(int start, int stop)
18
-    {
15
+    public String sing(int start, int stop) {
19
         StringBuilder songOutput = new StringBuilder();
16
         StringBuilder songOutput = new StringBuilder();
20
 
17
 
21
         for (int i=start; i>=stop; i--) {
18
         for (int i=start; i>=stop; i--) {
25
         return songOutput.toString();
22
         return songOutput.toString();
26
     }
23
     }
27
 
24
 
28
-    public static String singSong() {
25
+    public String singSong() {
29
         return sing(99,0);
26
         return sing(99,0);
30
     }
27
     }
31
 }
28
 }

+ 7
- 7
exercises/beer-song/src/test/java/BeerSongTest.java Dosyayı Görüntüle

9
     public void singFirstVerse() {
9
     public void singFirstVerse() {
10
         assertEquals("99 bottles of beer on the wall, 99 bottles of beer.\n" +
10
         assertEquals("99 bottles of beer on the wall, 99 bottles of beer.\n" +
11
                         "Take one down and pass it around, 98 bottles of beer on the wall.\n\n",
11
                         "Take one down and pass it around, 98 bottles of beer on the wall.\n\n",
12
-                BeerSong.verse(99));
12
+                new BeerSong().verse(99));
13
     }
13
     }
14
 
14
 
15
     @Ignore
15
     @Ignore
17
     public void singMiddleVerse() {
17
     public void singMiddleVerse() {
18
         assertEquals("44 bottles of beer on the wall, 44 bottles of beer.\n" +
18
         assertEquals("44 bottles of beer on the wall, 44 bottles of beer.\n" +
19
                         "Take one down and pass it around, 43 bottles of beer on the wall.\n\n",
19
                         "Take one down and pass it around, 43 bottles of beer on the wall.\n\n",
20
-                BeerSong.verse(44));
20
+                new BeerSong().verse(44));
21
     }
21
     }
22
 
22
 
23
     @Ignore
23
     @Ignore
25
     public void singThirdToLastVerse() {
25
     public void singThirdToLastVerse() {
26
         assertEquals("2 bottles of beer on the wall, 2 bottles of beer.\n" +
26
         assertEquals("2 bottles of beer on the wall, 2 bottles of beer.\n" +
27
                         "Take one down and pass it around, 1 bottle of beer on the wall.\n\n",
27
                         "Take one down and pass it around, 1 bottle of beer on the wall.\n\n",
28
-                BeerSong.verse(2));
28
+                new BeerSong().verse(2));
29
     }
29
     }
30
 
30
 
31
     @Ignore
31
     @Ignore
33
     public void singPenultimateVerse() {
33
     public void singPenultimateVerse() {
34
         assertEquals("1 bottle of beer on the wall, 1 bottle of beer.\n" +
34
         assertEquals("1 bottle of beer on the wall, 1 bottle of beer.\n" +
35
                         "Take it down and pass it around, no more bottles of beer on the wall.\n\n",
35
                         "Take it down and pass it around, no more bottles of beer on the wall.\n\n",
36
-                BeerSong.verse(1));
36
+                new BeerSong().verse(1));
37
     }
37
     }
38
 
38
 
39
     @Ignore
39
     @Ignore
41
     public void singLastVerse() {
41
     public void singLastVerse() {
42
         assertEquals("No more bottles of beer on the wall, no more bottles of beer.\n" +
42
         assertEquals("No more bottles of beer on the wall, no more bottles of beer.\n" +
43
                         "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
43
                         "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
44
-                BeerSong.verse(0));
44
+                new BeerSong().verse(0));
45
     }
45
     }
46
 
46
 
47
     @Ignore
47
     @Ignore
55
                         "Take it down and pass it around, no more bottles of beer on the wall.\n\n" +
55
                         "Take it down and pass it around, no more bottles of beer on the wall.\n\n" +
56
                         "No more bottles of beer on the wall, no more bottles of beer.\n" +
56
                         "No more bottles of beer on the wall, no more bottles of beer.\n" +
57
                         "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
57
                         "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
58
-                BeerSong.sing(3,0));
58
+                new BeerSong().sing(3,0));
59
     }
59
     }
60
 
60
 
61
     @Ignore
61
     @Ignore
161
                         "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n" +
161
                         "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n" +
162
                         "1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\n" +
162
                         "1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\n" +
163
                         "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n\n",
163
                         "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n\n",
164
-                BeerSong.singSong());
164
+                new BeerSong().singSong());
165
     }
165
     }
166
 
166
 
167
 }
167
 }