test: add 100% coverage for DigitalRoot

remove partial coverage by checking for 9
This commit is contained in:
Oliver Booth 2024-06-12 13:38:52 +01:00
parent db96c9e6fb
commit 7f9277287b
Signed by: oliverbooth
GPG Key ID: E60B570D1B7557B5
8 changed files with 140 additions and 12 deletions

View File

@ -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()
{

View File

@ -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()
{

View File

@ -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()
{

View File

@ -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()
{

View File

@ -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()
{

View File

@ -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()
{

View File

@ -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]

View File

@ -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]