алгоритм работы с коэффициентами с использованием десятичного типа - PullRequest
0 голосов
/ 08 января 2012

Какую технику вы бы использовали для прохождения теста ниже?

Ура,
Беррил

    [Test]
    public void PercentageToSplit() {
        for (int i = 1; i < 20; i++) {
            decimal ratio = 1m / i;
            Console.WriteLine(ratio);

            var splitCount = (int)Math.Floor(1 / ratio); // *** this won't do
            Console.WriteLine(splitCount );

            Assert.That(splitCount, Is.EqualTo(i));
        }

1 becomes 1
0.5 becomes 2
0.3333333333333333333333333333 becomes 3
0.25 becomes 4
0.2 becomes 5
0.1666666666666666666666666667 becomes 5
Test 'PercentageToSplit' failed: 
  Expected: 6
  But was:  5

1 Ответ

2 голосов
/ 08 января 2012

Ваш тест пройден, если вы измените Math.Floor на Math.Round.

...