Skip to content

Instantly share code, notes, and snippets.

@wildskyf
Created October 24, 2015 08:42
Show Gist options
  • Select an option

  • Save wildskyf/3af895cf74132af8a944 to your computer and use it in GitHub Desktop.

Select an option

Save wildskyf/3af895cf74132af8a944 to your computer and use it in GitHub Desktop.
軟體工程 Kata: FizzBuzzWhizz
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