public void TestRandomGeneratorWithCustomRandomNumberProviderThatAlwaysReturn5() { var customNumber = 5; // CustomRandomNumberProvider always returns customNumber var customRandomNumberProvider = new CustomRandomNumberProvider(customNumber); var cpu = new Cpu32Bits(4, null, customRandomNumberProvider); var generatedNumber = cpu.GenerateRandomNumber(1, 100); Assert.AreEqual(customNumber, generatedNumber); }
public void When_NextSignedDouble_Expect_Reference() { // arrange var pdfCurve = new Curve(); pdfCurve.Add(new Point(-1.0, 1)); pdfCurve.Add(new Point(0, 1)); var pdf = new Pdf(pdfCurve); IRandomNumberProvider baseRandom = Substitute.For <IRandomNumberProvider>(); baseRandom.NextDouble().Returns(0.5); var customRandom = new CustomRandomNumberProvider(new Cdf(pdf, 10), baseRandom); // act var randomNumber = customRandom.NextSignedDouble(); // assert Assert.Equal(-0.5, randomNumber); }