private static void TestGenerator(PermutedCongruentialGenerator generator, uint[] expected)
        {
            var actual = new uint[expected.Length];

            for (var i = 0; i < actual.Length; ++i)
            {
                actual[i] = generator.NextUInt();
            }

            Assert.AreEqual(expected, actual);
        }
        public void TestPcg(ulong initState, ulong initSeq, uint[] expected)
        {
            var generator = new PermutedCongruentialGenerator(initState, initSeq);
            var actual    = new uint[expected.Length];

            for (var i = 0; i < actual.Length; ++i)
            {
                actual[i] = generator.NextUInt();
            }

            Assert.AreEqual(expected, actual);
        }
 public void TestConstructInvalid()
 {
     Assert.Throws <ArgumentException>(
         () => _ = new PermutedCongruentialGenerator(1, ulong.MaxValue));
 }