All checks were successful
MANDATORY: Build project (Pflib Net) TeamCity build finished
Remove unused parts of negative test. Reviewed-on: #5 Co-authored-by: Malachy Byrne <malachybyrne1@gmail.com> Co-committed-by: Malachy Byrne <malachybyrne1@gmail.com>
57 lines
1.2 KiB
C#
57 lines
1.2 KiB
C#
using System;
|
|
using NUnit.Framework;
|
|
using pflib_net.dice;
|
|
|
|
namespace pflib_net.Tests;
|
|
|
|
[TestFixture]
|
|
[TestOf(typeof(Dice))]
|
|
public class DiceTest
|
|
{
|
|
|
|
[Test]
|
|
[Repeat(100)]
|
|
public void D20RollProducesValueBetween1And20()
|
|
{
|
|
var die = new Dice(20);
|
|
Assert.That(die.GetValue(), Is.InRange(1, 20));
|
|
}
|
|
|
|
[Test]
|
|
[TestCase(10)]
|
|
[TestCase(-10)]
|
|
public void RollAddsValuesCorrectly(int value)
|
|
{
|
|
var die = new Dice(4, add: value);
|
|
Assert.That(die.GetValue(), Is.InRange(1 + value, 4 + value));
|
|
}
|
|
|
|
[Test]
|
|
[Repeat(100)]
|
|
public void RollMultipleDiceHasCorrectAmountOfDice()
|
|
{
|
|
var dice = new Dice(4, 20);
|
|
Assert.That(dice.GetValue(), Is.InRange(20, 4 * 20));
|
|
}
|
|
|
|
[Test]
|
|
public void KeepHighestHasCorrectNumberOfDice()
|
|
{
|
|
var dice = new Dice(1, 40, 20);
|
|
Assert.That(dice.GetValue(), Is.EqualTo(20));
|
|
}
|
|
|
|
[Test]
|
|
public void KeepLowestHasCorrectNumberOfDice()
|
|
{
|
|
var dice = new Dice(1, 40, keepLowest: 20);
|
|
Assert.That(dice.GetValue(), Is.EqualTo(20));
|
|
}
|
|
|
|
[Test]
|
|
public void CannotSetKeepHighestAndKeepLowest()
|
|
{
|
|
Assert.Throws<InvalidOperationException>(
|
|
() => new Dice(1, 40, 1, 1));
|
|
}
|
|
} |