{"id":28,"date":"2019-10-31T13:21:26","date_gmt":"2019-10-31T04:21:26","guid":{"rendered":"http:\/\/kpc2019.satoshis.jp\/?p=28"},"modified":"2019-10-31T15:41:04","modified_gmt":"2019-10-31T06:41:04","slug":"tdd-%e3%83%86%e3%82%b9%e3%83%88%e9%a7%86%e5%8b%95%e9%96%8b%e7%99%ba","status":"publish","type":"post","link":"https:\/\/kpc2019.satoshis.jp\/?p=28","title":{"rendered":"TDD: \u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a"},"content":{"rendered":"<p>\u52c7\u8005\u306eLevel\u3092\u7d4c\u9a13\u5024\u306b\u3088\u3063\u3066\u5224\u65ad\u3059\u308b\u30af\u30e9\u30b9 Level \u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Level {\r\n\tpublic static int getLevel(int exp) {\r\n\t\treturn 1;\r\n\t}\r\n}\r\n<\/pre>\n<p>Level.java \u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066[\u65b0\u898f]-[\u305d\u306e\u4ed6]\u3092\u9078\u629e\u3059\u308b\u3002<br \/>\nJunit\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u3092\u9078\u629e\u3057\u3066\u300c\u6b21\u3078\u300d\u3092\u30af\u30ea\u30c3\u30af\u3002<br \/>\ngetLevel()\u30e1\u30bd\u30c3\u30c9\u306b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u300c\u5b8c\u4e86\u300d\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3002<\/p>\n<p>LevelTest.java\u304c\u4f5c\u6210\u3055\u308c\u308b\u3002<br \/>\n\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass LevelTest {\r\n\r\n\t@Test\r\n\tvoid testGetLevel() {\r\n\t\tint l = Level.getLevel(0);\r\n\t\tassertThat(l, is(1));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u4ed5\u69d8\u3092\u6c7a\u3081\u308b\u3002<\/p>\n<table>\n<tr>\n<th>Level<\/th>\n<th>\u7d4c\u9a13\u5024<\/th>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>0\uff5e10<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>11\uff5e30<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>31\uff5e60<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>61\uff5e150<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>151\uff5e<\/td>\n<\/tr>\n<\/table>\n<p>\u7d4c\u9a13\u5024\u304c0\u304b\u308910\u307e\u3067\u306f\u30ec\u30d9\u30eb1\u3067\u3001\u7d4c\u9a13\u5024\u304c11\u3060\u3068\u30ec\u30d9\u30eb1\u3067\u306f\u306a\u3044\u3068\u3044\u3046\u30c6\u30b9\u30c8\u3092\u66f8\u304f\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass LevelTest {\r\n\r\n\t@Test\r\n\tvoid testGetLevel1() {\r\n\t\tint l = Level.getLevel(0);\r\n\t\tassertThat(l, is(1));\r\n\t\tl = Level.getLevel(10);\r\n\t\tassertThat(l, is(1));\r\n\t\tl = Level.getLevel(11);\r\n\t\tassertThat(l, not(1));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u3053\u306e\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306b\u3001Level.java \u3092\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Level {\r\n\tpublic static int getLevel(int exp) {\r\n\t\tif (exp &gt; 10) return 2;\r\n\t\treturn 1;\r\n\t}\r\n}\r\n<\/pre>\n<p>\u5f90\u3005\u306b\u30c6\u30b9\u30c8\u3092\u5897\u3084\u3057\u3066\u3044\u304d\u3001Lebel.java\u306e\u30b3\u30fc\u30c9\u306b\u306f\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306b\u8ffd\u52a0\u3057\u3066\u3044\u304f\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass LevelTest {\r\n\r\n\t@Test\r\n\tvoid testGetLevel1() {\r\n\t\tint l = Level.getLevel(0);\r\n\t\tassertThat(l, is(1));\r\n\t\tl = Level.getLevel(10);\r\n\t\tassertThat(l, is(1));\r\n\t\tl = Level.getLevel(11);\r\n\t\tassertThat(l, not(1));\r\n\t}\r\n\r\n\t@Test\r\n\tvoid testGetLevel2() {\r\n\t\tint l = Level.getLevel(10);\r\n\t\tassertThat(l, not(2));\r\n\t\tl = Level.getLevel(11);\r\n\t\tassertThat(l, is(2));\r\n\t\tl = Level.getLevel(30);\r\n\t\tassertThat(l, is(2));\r\n\t\tl = Level.getLevel(31);\r\n\t\tassertThat(l, not(2));\r\n\t}\r\n\r\n\t@Test\r\n\tvoid testGetLevel3() {\r\n\t\tint l = Level.getLevel(30);\r\n\t\tassertThat(l, not(3));\r\n\t\tl = Level.getLevel(31);\r\n\t\tassertThat(l, is(3));\r\n\t\tl = Level.getLevel(60);\r\n\t\tassertThat(l, is(3));\r\n\t\tl = Level.getLevel(61);\r\n\t\tassertThat(l, not(3));\r\n\t}\r\n\r\n\t@Test\r\n\tvoid testGetLevel4() {\r\n\t\tint l = Level.getLevel(60);\r\n\t\tassertThat(l, not(4));\r\n\t\tl = Level.getLevel(61);\r\n\t\tassertThat(l, is(4));\r\n\t\tl = Level.getLevel(150);\r\n\t\tassertThat(l, is(4));\r\n\t\tl = Level.getLevel(151);\r\n\t\tassertThat(l, not(4));\r\n\t}\r\n}\r\n<\/pre>\n<p>Lebel.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Level {\r\n\tpublic static int getLevel(int exp) {\r\n\t\tif (exp &gt; 150) return 5;\r\n\t\tif (exp &gt; 60) return 4;\r\n\t\tif (exp &gt; 30) return 3;\r\n\t\tif (exp &gt; 10) return 2;\r\n\t\treturn 1;\r\n\t}\r\n}\r\n<\/pre>\n<h3>FizzBuzz\u554f\u984c\u3092TDD\u3067\u5b9f\u88c5\u3059\u308b<\/h3>\n<p>FuzzBuzz\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\treturn null;\r\n\t}\r\n}\r\n<\/pre>\n<p>FizzBuzzTest \u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.junit.jupiter.api.Assertions.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tfail(&quot;\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093&quot;);\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u307e\u305a\u30011\u306e\u3068\u304d\u306b\u6587\u5b57\u5217&#8221;1&#8243;\u304c\u8fd4\u3055\u308c\u308b\u3068\u3044\u3046\u6761\u4ef6\u306e\u30c6\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u3053\u306e\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u6700\u4f4e\u9650\u306e\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3002<br \/>\n\u3053\u306e\u3088\u3046\u306a\u66f8\u304d\u65b9\u3092 fake \u3068\u3044\u3046\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\treturn &quot;1&quot;;\r\n\t}\r\n}\r\n<\/pre>\n<p>fake \u3067\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3057\u305f\u306e\u3067\u3001\u30c6\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306bFizzBuzz\u3092\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i == 2) return &quot;2&quot;;\r\n\t\treturn &quot;1&quot;;\r\n\t}\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3057\u305f\u306e\u3067\u3001\u30c6\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306bFizzBuzz\u3092\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i == 3) return &quot;Fizz&quot;;\r\n\t\tif (i == 2) return &quot;2&quot;;\r\n\t\treturn &quot;1&quot;;\r\n\t}\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3057\u305f\u306e\u3067\u3001\u30c6\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(4);\r\n\t\tassertThat(a, is(&quot;4&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u3055\u3059\u304c\u306bif\u6587\u3067\u5bfe\u5fdc\u3059\u308b\u3068\u91cd\u8907\u3057\u305f\u51e6\u7406\u304c\u5897\u3048\u308b\u306e\u3067\u3001\u6570\u5024\u3092\u6587\u5b57\u5217\u306b\u5909\u63db\u3059\u308b\u90e8\u5206\u3092\u307e\u3068\u3081\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i == 3) return &quot;Fizz&quot;;\r\n\t\treturn String.valueOf(i);\r\n\t}\r\n}\r\n<\/pre>\n<p>5\u306e\u5834\u5408\u306f &#8220;Buzz&#8221;\u3068\u8fd4\u3059\u30c6\u30b9\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(4);\r\n\t\tassertThat(a, is(&quot;4&quot;));\r\n\t\ta = fb.answer(5);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306bFizzBuzz\u3092\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i == 5) return &quot;Buzz&quot;;\r\n\t\tif (i == 3) return &quot;Fizz&quot;;\r\n\t\treturn String.valueOf(i);\r\n\t}\r\n}\r\n<\/pre>\n<p>6\u306f3\u306e\u500d\u6570\u306a\u306e\u3067 &#8220;Fizz&#8221; \u3068\u8fd4\u3059\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(4);\r\n\t\tassertThat(a, is(&quot;4&quot;));\r\n\t\ta = fb.answer(5);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t\ta = fb.answer(6);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>3\u306e\u500d\u6570\u306a\u3089 &#8220;Fizz&#8221; \u3068\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i == 5) return &quot;Buzz&quot;;\r\n\t\tif (i % 3 == 0) return &quot;Fizz&quot;;\r\n\t\treturn String.valueOf(i);\r\n\t}\r\n}\r\n<\/pre>\n<p>7\u30fb8\u30fb9\u306f\u3053\u306e\u307e\u307e\u3067\u554f\u984c\u306a\u3055\u305d\u3046\u306a\u306e\u3067\u98db\u3070\u3059\u3002<br \/>\n10\u306f5\u306e\u500d\u6570\u306a\u306e\u3067 &#8220;Buzz&#8221; \u304c\u8fd4\u3055\u308c\u308b\u306f\u305a\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(4);\r\n\t\tassertThat(a, is(&quot;4&quot;));\r\n\t\ta = fb.answer(5);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t\ta = fb.answer(6);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(10);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>3\u306e\u500d\u6570\u3068\u540c\u69d8\u306b\u30015\u306e\u500d\u6570\u306f &#8220;Buzz&#8221; \u3092\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i % 5 == 0) return &quot;Buzz&quot;;\r\n\t\tif (i % 3 == 0) return &quot;Fizz&quot;;\r\n\t\treturn String.valueOf(i);\r\n\t}\r\n}\r\n<\/pre>\n<p>11\u30fb12\u30fb13\u30fb14\u306f\u554f\u984c\u306a\u3055\u305d\u3046\u306a\u306e\u3067\u98db\u3070\u3059\u3002<br \/>\n15\u306e\u500d\u6570\u306e\u6642\u306f &#8220;FizzBuzz&#8221; \u3068\u306a\u308b\u306e\u3067\u3001\u30c6\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass FizzBuzzTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tFizzBuzz fb = new FizzBuzz();\r\n\t\tString a = fb.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = fb.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = fb.answer(3);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(4);\r\n\t\tassertThat(a, is(&quot;4&quot;));\r\n\t\ta = fb.answer(5);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t\ta = fb.answer(6);\r\n\t\tassertThat(a, is(&quot;Fizz&quot;));\r\n\t\ta = fb.answer(10);\r\n\t\tassertThat(a, is(&quot;Buzz&quot;));\r\n\t\ta = fb.answer(15);\r\n\t\tassertThat(a, is(&quot;FizzBuzz&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u3088\u3046\u306bFizzBuzz\u3092\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class FizzBuzz {\r\n\tpublic String answer(int i) {\r\n\t\tif (i % 15 == 0) return &quot;FizzBuzz&quot;;\r\n\t\tif (i % 5 == 0) return &quot;Buzz&quot;;\r\n\t\tif (i % 3 == 0) return &quot;Fizz&quot;;\r\n\t\treturn String.valueOf(i);\r\n\t}\r\n}\r\n<\/pre>\n<h3>\u4e16\u754c\u306e\u30ca\u30d9\u30a2\u30c4\u3092\u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a\u3067\u5b9f\u88c5\u3059\u308b<\/h3>\n<p>\u5bfe\u8c61\u3068\u306a\u308b\u30af\u30e9\u30b9 Nabeatsu \u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class Nabeatsu {\r\n\tpublic String answer(int i) {\r\n\t\treturn null;\r\n\t}\r\n}\r\n<\/pre>\n<p>Junit\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.junit.jupiter.api.Assertions.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass NabeatsuTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tfail(&quot;\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093&quot;);\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>1\u304b\u30893\u307e\u3067\u30c6\u30b9\u30c8\u3092\u66f8\u3044\u3066\u3044\u304f\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass NabeatsuTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tNabeatsu n = new Nabeatsu();\r\n\t\tString a = n.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = n.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = n.answer(3);\r\n\t\tassertThat(a, is(&quot;\u3055\u3041\uff5e\u3093\uff01&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>3\u306e\u500d\u6570\u306fFizzBuzz\u3068\u540c\u3058\u306a\u306e\u3067\u7c21\u5358\u306b\u3067\u304d\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class Nabeatsu {\r\n\tpublic String answer(int i) {\r\n\t\tif (i % 3 == 0) return &quot;\u3055\u3041\uff5e\u3093\uff01&quot;;\r\n\t\treturn String.valueOf(i);\r\n\r\n\t}\r\n}\r\n<\/pre>\n<p>3\u306e\u500d\u6570\u3067\u306f\u306a\u3044\u3051\u30693\u304c\u542b\u307e\u308c\u308b\u30d1\u30bf\u30fc\u30f3\u306b\u5bfe\u5fdc\u3059\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\nimport static org.hamcrest.CoreMatchers.*;\r\nimport static org.junit.Assert.*;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nclass NabeatsuTest {\r\n\r\n\t@Test\r\n\tvoid testAnswer() {\r\n\t\tNabeatsu n = new Nabeatsu();\r\n\t\tString a = n.answer(1);\r\n\t\tassertThat(a, is(&quot;1&quot;));\r\n\t\ta = n.answer(2);\r\n\t\tassertThat(a, is(&quot;2&quot;));\r\n\t\ta = n.answer(3);\r\n\t\tassertThat(a, is(&quot;\u3055\u3041\uff5e\u3093\uff01&quot;));\r\n\t\ta = n.answer(13);\r\n\t\tassertThat(a, is(&quot;\u3055\u3041\uff5e\u3093\uff01&quot;));\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>\u6570\u5024\u3092 String.valueOf() \u3067\u6587\u5b57\u5217\u306b\u5909\u63db\u3057\u3001\u305d\u306e\u4e2d\u306b &#8220;3&#8221; \u304c\u542b\u307e\u308c\u308b\u304b\u3069\u3046\u304b\u3092\u8abf\u3079\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage hello;\r\n\r\npublic class Nabeatsu {\r\n\tpublic String answer(int i) {\r\n\t\tif (i % 3 == 0) return &quot;\u3055\u3041\uff5e\u3093\uff01&quot;;\r\n\t\tString s = String.valueOf(i);\r\n\t\tif (s.contains(&quot;3&quot;)) return &quot;\u3055\u3041\uff5e\u3093\uff01&quot;;\r\n\t\treturn s;\r\n\t}\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u52c7\u8005\u306eLevel\u3092\u7d4c\u9a13\u5024\u306b\u3088\u3063\u3066\u5224\u65ad\u3059\u308b\u30af\u30e9\u30b9 Level \u3092\u4f5c\u6210\u3059\u308b\u3002 package rpg; public class Level { public static int getLevel(int exp) { r &hellip; <a href=\"https:\/\/kpc2019.satoshis.jp\/?p=28\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;TDD: \u30c6\u30b9\u30c8\u99c6\u52d5\u958b\u767a&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-28","post","type-post","status-publish","format-standard","hentry","category-tdd"],"views":542,"_links":{"self":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28"}],"version-history":[{"count":13,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":41,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions\/41"}],"wp:attachment":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}