QueueTest.Fuzz C# (CSharp) Method

Fuzz() private method

private Fuzz ( ) : void
return void
    public void Fuzz()
    {
        foreach (var seed in 10.Range()) {
            var r = new Random(7231 + seed);
            var refQueue = ImmutableQueue<int>.Empty;
            var q = Queue<int>.Empty;
            foreach (var i in 1000.Range()) {
                if (r.Next(2) == 0 && !refQueue.IsEmpty) {
                    q.Peek().AssertEquals(refQueue.Peek());
                    q = q.Dequeue();
                    refQueue = refQueue.Dequeue();
                } else {
                    var e = r.Next(1000);
                    q = q.Enqueue(e);
                    refQueue = refQueue.Enqueue(e);
                }
            }

            while (!refQueue.IsEmpty) {
                (q.Count > 0).AssertIsTrue();
                q.Peek().AssertEquals(refQueue.Peek());
                q = q.Dequeue();
                refQueue = refQueue.Dequeue();
            }
            q.Count.AssertEquals(0);
        }
    }
QueueTest