public void Shouldnt_Enqueue_When_Condition_False_After_Loop_When_Limit_Met() { var target = new LayoutQueue <string>(_ => false); //1 target.Enqueue("Foo"); Assert.Equal(1, target.Count); target.BeginLoop(3); target.Dequeue(); //2 target.Enqueue("Foo"); target.Dequeue(); //3 target.Enqueue("Foo"); Assert.Equal(1, target.Count); target.Dequeue(); //4 more than limit shouldn't be added target.Enqueue("Foo"); Assert.Equal(0, target.Count); target.EndLoop(); Assert.Equal(0, target.Count); }
public void Should_Enqueue_When_Condition_True_After_Loop_When_Limit_Met() { var target = new LayoutQueue <string>(_ => true); //1 target.Enqueue("Foo"); Assert.Equal(1, target.Count); target.BeginLoop(3); target.Dequeue(); //2 target.Enqueue("Foo"); target.Dequeue(); //3 target.Enqueue("Foo"); Assert.Equal(1, target.Count); target.Dequeue(); //4 more than limit shouldn't be added to queue target.Enqueue("Foo"); Assert.Equal(0, target.Count); target.EndLoop(); //after loop should be added once Assert.Equal(1, target.Count); Assert.Equal("Foo", target.First()); }