Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
83
Task/FizzBuzz/C-sharp/fizzbuzz-9.cs
Normal file
83
Task/FizzBuzz/C-sharp/fizzbuzz-9.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
namespace FizzBuzz
|
||||
{
|
||||
[TestClass]
|
||||
public class FizzBuzzTest
|
||||
{
|
||||
private FizzBuzz fizzBuzzer;
|
||||
|
||||
[TestInitialize]
|
||||
public void Initialize()
|
||||
{
|
||||
fizzBuzzer = new FizzBuzz();
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Give4WillReturn4()
|
||||
{
|
||||
Assert.AreEqual("4", fizzBuzzer.FizzBuzzer(4));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Give9WillReturnFizz()
|
||||
{
|
||||
Assert.AreEqual("Fizz", fizzBuzzer.FizzBuzzer(9));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Give25WillReturnBuzz()
|
||||
{
|
||||
Assert.AreEqual("Buzz", fizzBuzzer.FizzBuzzer(25));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Give30WillReturnFizzBuzz()
|
||||
{
|
||||
Assert.AreEqual("FizzBuzz", fizzBuzzer.FizzBuzzer(30));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void First15()
|
||||
{
|
||||
ICollection expected = new ArrayList
|
||||
{"1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz"};
|
||||
|
||||
var actual = Enumerable.Range(1, 15).Select(x => fizzBuzzer.FizzBuzzer(x)).ToList();
|
||||
|
||||
CollectionAssert.AreEqual(expected, actual);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void From1To100_ToShowHowToGet100()
|
||||
{
|
||||
const int expected = 100;
|
||||
var actual = Enumerable.Range(1, 100).Select(x => fizzBuzzer.FizzBuzzer(x)).ToList();
|
||||
|
||||
Assert.AreEqual(expected, actual.Count);
|
||||
}
|
||||
}
|
||||
|
||||
public class FizzBuzz
|
||||
{
|
||||
private delegate string Xzzer(int value);
|
||||
private readonly IList<Xzzer> _functions = new List<Xzzer>();
|
||||
|
||||
public FizzBuzz()
|
||||
{
|
||||
_functions.Add(x => x % 3 == 0 ? "Fizz" : "");
|
||||
_functions.Add(x => x % 5 == 0 ? "Buzz" : "");
|
||||
}
|
||||
|
||||
public string FizzBuzzer(int value)
|
||||
{
|
||||
var result = _functions.Aggregate(String.Empty, (current, function) => current + function.Invoke(value));
|
||||
return String.IsNullOrEmpty(result) ? value.ToString(CultureInfo.InvariantCulture) : result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue