Example #1
0
        public void LCG_Next_Test()
        {
            LCG  target = new LCG();
            uint max    = 10;

            target.Srand(2);
            uint result = target.Next(max);

            Assert.IsTrue(result >= 0, "Wartosc losowa LCG jest mniejsza od 0!");
            Assert.IsTrue(result <= max, "Wartosc losowa LCG jest większa niż podana wartość maksymalna!");
        }
        public void LCGCorrectness()
        {
            var lcg = new LCG(123, 456, 1);

            Assert.Equal(579u, lcg.Next());
            Assert.Equal(71673u, lcg.Next());
            Assert.Equal(8816235u, lcg.Next());
            Assert.Equal(1084397361u, lcg.Next());
            Assert.Equal(236889683u, lcg.Next());
            Assert.Equal(3367627689u, lcg.Next());
            Assert.Equal(1901345787u, lcg.Next());
            Assert.Equal(1937298273u, lcg.Next());
            Assert.Equal(2064486755u, lcg.Next());
            Assert.Equal(528800857u, lcg.Next());
            Assert.Equal(617996427u, lcg.Next());
            Assert.Equal(2999116945u, lcg.Next());
            Assert.Equal(3819164531u, lcg.Next());
            Assert.Equal(1605802505u, lcg.Next());
            Assert.Equal(4240180251u, lcg.Next());
            Assert.Equal(1851128513u, lcg.Next());

            lcg.Seed(2);

            Assert.Equal(702u, lcg.Next());
            Assert.Equal(86802u, lcg.Next());
            Assert.Equal(10677102u, lcg.Next());
            Assert.Equal(1313284002u, lcg.Next());
            Assert.Equal(2620142750u, lcg.Next());
            Assert.Equal(155011506u, lcg.Next());
            Assert.Equal(1886546510u, lcg.Next());
            Assert.Equal(116987202u, lcg.Next());
            Assert.Equal(1504524414u, lcg.Next());
            Assert.Equal(372909650u, lcg.Next());
            Assert.Equal(2918214446u, lcg.Next());
            Assert.Equal(2458091746u, lcg.Next());
            Assert.Equal(1697574494u, lcg.Next());
            Assert.Equal(2643233010u, lcg.Next());
            Assert.Equal(2995113486u, lcg.Next());
            Assert.Equal(3326739074u, lcg.Next());
        }