public void CorrectlyDivides(long divisor, long testDividend) { var int64Divisor = new Int64Divisor(divisor); var quotient = testDividend / int64Divisor; Console.WriteLine($"quotient:{quotient}"); Assert.AreEqual(testDividend / divisor, quotient, SerializeDivisor(int64Divisor)); }
public void CalculatesAbsFloorCorrectly(long divisor, long testDividend) { var int64Divisor = new Int64Divisor(divisor); var rounded = int64Divisor.AbsFloor(testDividend); Console.WriteLine($"rounded:{rounded}"); Assert.AreEqual(testDividend / divisor * divisor, rounded, SerializeDivisor(int64Divisor)); }
public void CalculatesModulusCorrectly(long divisor, long testDividend) { var int64Divisor = new Int64Divisor(divisor); var remainder = testDividend % int64Divisor; Console.WriteLine($"remainder:{remainder}"); Assert.AreEqual(testDividend % divisor, remainder, SerializeDivisor(int64Divisor)); }
public void CalculatesAbsFloorCorrectlyRandomNumerators(long divisor) { var int64Divisor = new Int64Divisor(divisor); var rng = new PcgRandom(); for (ulong i = 0; i < RandomTestCount; i++) { var testDividend = unchecked (rng.Next() | ((long)rng.Next() << 32)); var rounded = int64Divisor.AbsFloor(testDividend); Assert.AreEqual(testDividend / divisor * divisor, rounded, $"Trying to test {testDividend} / {divisor} * {divisor}"); } }
public void CalculatesModulusCorrectlyRandomNumerators(long divisor) { var int64Divisor = new Int64Divisor(divisor); var rng = new PcgRandom(); for (ulong i = 0; i < RandomTestCount; i++) { var testDividend = unchecked (rng.Next() | ((long)rng.Next() << 32)); var remainder = testDividend % int64Divisor; Assert.AreEqual(testDividend % divisor, remainder, $"Trying to test {testDividend} % {divisor}"); } }
public void CorrectlyDividesRandomNumerators(long divisor) { var int64Divisor = new Int64Divisor(divisor); var rng = new PcgRandom(); for (ulong i = 0; i < RandomTestCount; i++) { var testDividend = unchecked (rng.Next() | ((long)rng.Next() << 32)); var quotient = testDividend / int64Divisor; Assert.AreEqual(testDividend / divisor, quotient, $"Trying to test {testDividend} / {divisor}"); } }
public void CalculatesAbsFloorRemCorrectly(long divisor, long testDividend) { var int64Divisor = new Int64Divisor(divisor); var remainder = int64Divisor.AbsFloorRem(testDividend, out var rounded); Console.WriteLine($"rounded:{rounded}, remainder:{remainder}"); Assert.Multiple(() => { Assert.AreEqual(testDividend % divisor, remainder, SerializeDivisor(int64Divisor)); Assert.AreEqual(testDividend / divisor * divisor, rounded, SerializeDivisor(int64Divisor)); }); }
public void DivRemReturnsCorrectly(long divisor, long testDividend) { var int64Divisor = new Int64Divisor(divisor); var remainder = int64Divisor.DivRem(testDividend, out var quotient); Console.WriteLine($"quotient:{quotient}, remainder:{remainder}"); Assert.Multiple(() => { Assert.AreEqual(testDividend % divisor, remainder, SerializeDivisor(int64Divisor)); Assert.AreEqual(testDividend / divisor, quotient, SerializeDivisor(int64Divisor)); }); }
public void DivRemReturnsCorrectlyRandomNumerators(long divisor) { var int64Divisor = new Int64Divisor(divisor); var rng = new PcgRandom(); for (ulong i = 0; i < RandomTestCount; i++) { var testDividend = unchecked (rng.Next() | ((long)rng.Next() << 32)); var remainder = int64Divisor.DivRem(testDividend, out var quotient); Assert.AreEqual(testDividend % divisor, remainder, $"Trying to test {testDividend} % {divisor}"); Assert.AreEqual(testDividend / divisor, quotient, $"Trying to test {testDividend} / {divisor}"); } }
private static string SerializeDivisor(Int64Divisor divisor) => $"{JsonConvert.SerializeObject(divisor)}";