Created
October 24, 2015 08:42
-
-
Save wildskyf/3af895cf74132af8a944 to your computer and use it in GitHub Desktop.
軟體工程 Kata: FizzBuzzWhizz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using NUnit.Framework; | |
| using System; | |
| namespace FizzBuzz { | |
| [TestFixture] | |
| public class FBTest { | |
| [Test] | |
| public void NormalNumber() { | |
| Assert.That(MainClass.Decide(1), Is.EqualTo("1")); | |
| Assert.That(MainClass.Decide(2), Is.EqualTo("2")); | |
| Assert.That(MainClass.Decide(4), Is.EqualTo("4")); | |
| } | |
| [Test] | |
| public void DivThree() { | |
| Assert.That(MainClass.Decide(3), Is.EqualTo("Fizz")); | |
| Assert.That(MainClass.Decide(6), Is.EqualTo("Fizz")); | |
| Assert.That(MainClass.Decide(9), Is.EqualTo("Fizz")); | |
| } | |
| [Test] | |
| public void DivFive() { | |
| Assert.That(MainClass.Decide(5), Is.EqualTo("Buzz")); | |
| Assert.That(MainClass.Decide(10), Is.EqualTo("Buzz")); | |
| Assert.That(MainClass.Decide(20), Is.EqualTo("Buzz")); | |
| } | |
| [Test] | |
| public void DivThreeAndDivFive() { | |
| Assert.That(MainClass.Decide(15), Is.EqualTo("FizzBuzz")); | |
| Assert.That(MainClass.Decide(30), Is.EqualTo("FizzBuzz")); | |
| Assert.That(MainClass.Decide(45), Is.EqualTo("FizzBuzz")); | |
| } | |
| /* ==== First Requirement Changing ==== */ | |
| [Test] | |
| public void CharThree() { | |
| Assert.That(MainClass.Decide(13), Is.EqualTo("Fizz")); | |
| Assert.That(MainClass.Decide(23), Is.EqualTo("Fizz")); | |
| Assert.That(MainClass.Decide(33), Is.EqualTo("Fizz")); | |
| } | |
| [Test] | |
| public void CharFive() { | |
| Assert.That(MainClass.Decide(25), Is.EqualTo("Buzz")); | |
| Assert.That(MainClass.Decide(55), Is.EqualTo("Buzz")); | |
| Assert.That(MainClass.Decide(65), Is.EqualTo("Buzz")); | |
| } | |
| [Test] | |
| public void CharThreeAndCharFive() { | |
| // 35 has been move to [ThreeAndFiveAndSeven] | |
| // Assert.That(MainClass.Decide(35), Is.EqualTo("FizzBuzz")); | |
| Assert.That(MainClass.Decide(53), Is.EqualTo("FizzBuzz")); | |
| } | |
| [Test] | |
| public void DivThreeAndCharFive() { | |
| Assert.That(MainClass.Decide(54), Is.EqualTo("FizzBuzz")); | |
| // 75 has been move to [ThreeAndFiveAndSeven] | |
| // Assert.That(MainClass.Decide(75), Is.EqualTo("FizzBuzz")); | |
| } | |
| // The only one DivFiveAndCharThree has been TEST befor. | |
| // [30 in DivThreeAndDivFive] | |
| /* ==== Second Requirement Changing ==== */ | |
| [Test] | |
| public void DivSeven() { | |
| Assert.That(MainClass.Decide(7), Is.EqualTo("Whizz")); | |
| Assert.That(MainClass.Decide(14), Is.EqualTo("Whizz")); | |
| } | |
| [Test] | |
| public void CharSeven() { | |
| Assert.That(MainClass.Decide(17), Is.EqualTo("Whizz")); | |
| Assert.That(MainClass.Decide(47), Is.EqualTo("Whizz")); | |
| } | |
| [Test] | |
| public void CharSevenAndDivThree() { | |
| Assert.That(MainClass.Decide(27), Is.EqualTo("FizzWhizz")); | |
| Assert.That(MainClass.Decide(87), Is.EqualTo("FizzWhizz")); | |
| } | |
| [Test] | |
| public void DivSevenAndCharThree() { | |
| Assert.That(MainClass.Decide(63), Is.EqualTo("FizzWhizz")); | |
| } | |
| [Test] | |
| public void CharSevenAndDivFive() { | |
| Assert.That(MainClass.Decide(70), Is.EqualTo("BuzzWhizz")); | |
| } | |
| // The only one DivSevenAndCharFive has been TEST befor. | |
| // [70 in CharSevenAndDivFive] | |
| [Test] | |
| public void ThreeAndFiveAndSeven() { | |
| Assert.That(MainClass.Decide(35), Is.EqualTo("FizzBuzzWhizz")); | |
| Assert.That(MainClass.Decide(75), Is.EqualTo("FizzBuzzWhizz")); | |
| } | |
| /* ==== Error Handling ==== */ | |
| [Test] | |
| public void ErrorHandling() { | |
| Assert.That(MainClass.Decide(0), Is.EqualTo("Input number should between 1 and 100.")); | |
| Assert.That(MainClass.Decide(101), Is.EqualTo("Input number should between 1 and 100.")); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment