mirror of https://github.com/oliverbooth/X10D
test: add 100% coverage for DigitalRoot
remove partial coverage by checking for 9
This commit is contained in:
parent
db96c9e6fb
commit
7f9277287b
|
@ -51,13 +51,29 @@ internal partial class ByteTests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const byte value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const byte value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const byte value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -62,13 +62,29 @@ internal partial class Int16Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const short value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const short value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const short value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -62,13 +62,29 @@ internal partial class Int32Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const int value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const int value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const int value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -62,13 +62,29 @@ internal partial class Int64Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const long value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const long value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const long value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -62,13 +62,29 @@ internal partial class SByteTests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given127()
|
||||
{
|
||||
const sbyte value = 127; // sbyte.MaxValue. can't use 238 like the other tests
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(1));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const sbyte value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const sbyte value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -51,13 +51,29 @@ internal partial class UInt16Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const ushort value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const ushort value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const ushort value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactorialShouldBeCorrect()
|
||||
{
|
||||
|
|
|
@ -50,11 +50,27 @@ internal partial class UInt32Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const uint value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4U));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4U));
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const uint value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const uint value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -51,15 +51,31 @@ internal partial class UInt64Tests
|
|||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRootShouldBeCorrect()
|
||||
public void DigitalRoot_ShouldReturn4_Given238()
|
||||
{
|
||||
const ulong value = 238;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4U));
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(4));
|
||||
|
||||
// -ulong operator not defined because it might exceed long.MinValue,
|
||||
// so instead, cast to long and then negate.
|
||||
// HAX.
|
||||
Assert.That((-(long)value).DigitalRoot(), Is.EqualTo(4U));
|
||||
Assert.That((-(long)value).DigitalRoot(), Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given9()
|
||||
{
|
||||
const ulong value = 9;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-(long)value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DigitalRoot_ShouldReturn9_Given18()
|
||||
{
|
||||
const ulong value = 18;
|
||||
Assert.That(value.DigitalRoot(), Is.EqualTo(9));
|
||||
Assert.That((-(long)value).DigitalRoot(), Is.EqualTo(9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
Loading…
Reference in New Issue