public void CalculatesAbsFloorCorrectly(int divisor, int testDividend) { var int32Divisor = new Int32Divisor(divisor); var rounded = int32Divisor.AbsFloor(testDividend); Console.WriteLine($"rounded:{rounded}"); Assert.AreEqual(testDividend / divisor * divisor, rounded, SerializeDivisor(int32Divisor)); }
public void CalculatesAbsFloorCorrectlyRandomNumerators(int divisor) { var int32Divisor = new Int32Divisor(divisor); var rng = new PcgRandom(); for (ulong i = 0; i < RandomTestCount; i++) { var testDividend = unchecked ((int)rng.Next()); var rounded = int32Divisor.AbsFloor(testDividend); Assert.AreEqual(testDividend / divisor * divisor, rounded, $"Trying to test {testDividend} / {divisor} * {divisor}"); } }