Exemplo n.º 1
0
        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);
        }