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()); }