82 lines
1.5 KiB
C#
82 lines
1.5 KiB
C#
using Xunit;
|
|
|
|
public class DartsTests
|
|
{
|
|
[Fact]
|
|
public void Missed_target()
|
|
{
|
|
Assert.Equal(0, Darts.Score(-9, 9));
|
|
}
|
|
|
|
[Fact]
|
|
public void On_the_outer_circle()
|
|
{
|
|
Assert.Equal(1, Darts.Score(0, 10));
|
|
}
|
|
|
|
[Fact]
|
|
public void On_the_middle_circle()
|
|
{
|
|
Assert.Equal(5, Darts.Score(-5, 0));
|
|
}
|
|
|
|
[Fact]
|
|
public void On_the_inner_circle()
|
|
{
|
|
Assert.Equal(10, Darts.Score(0, -1));
|
|
}
|
|
|
|
[Fact]
|
|
public void Exactly_on_centre()
|
|
{
|
|
Assert.Equal(10, Darts.Score(0, 0));
|
|
}
|
|
|
|
[Fact]
|
|
public void Near_the_centre()
|
|
{
|
|
Assert.Equal(10, Darts.Score(-0.1, -0.1));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_within_the_inner_circle()
|
|
{
|
|
Assert.Equal(10, Darts.Score(0.7, 0.7));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_outside_the_inner_circle()
|
|
{
|
|
Assert.Equal(5, Darts.Score(0.8, -0.8));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_within_the_middle_circle()
|
|
{
|
|
Assert.Equal(5, Darts.Score(-3.5, 3.5));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_outside_the_middle_circle()
|
|
{
|
|
Assert.Equal(1, Darts.Score(-3.6, -3.6));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_within_the_outer_circle()
|
|
{
|
|
Assert.Equal(1, Darts.Score(-7, 7));
|
|
}
|
|
|
|
[Fact]
|
|
public void Just_outside_the_outer_circle()
|
|
{
|
|
Assert.Equal(0, Darts.Score(7.1, -7.1));
|
|
}
|
|
|
|
[Fact]
|
|
public void Asymmetric_position_between_the_inner_and_middle_circles()
|
|
{
|
|
Assert.Equal(5, Darts.Score(0.5, -4));
|
|
}
|
|
} |