Example #1
0
 public void ShouldNotReturnDuplicatedWork()
 {
     using (var work = new WorkRemaining <int>(Enumerable.Repeat(5, 5)))
     {
         Assert.That(work.Take(4).Count(), Is.EqualTo(4));
         Assert.That(work.Take(4).Count(), Is.EqualTo(1));
     }
 }
Example #2
0
    public void ShouldReturnAsMuchDataAsAvailable()
    {
        const int size = 5;

        using (var work = new WorkRemaining <int>(Enumerable.Repeat(size, size)))
        {
            Assert.That(work.Take(10 * size).Count(), Is.EqualTo(size));
        }
    }
Example #3
0
    public void ShouldReturnFromSequenceIfNoAdditionalItems()
    {
        const int size = 5;

        using (var work = new WorkRemaining <int>(Enumerable.Repeat(size, size)))
        {
            Assert.That(work.Take(size).Count(), Is.EqualTo(size));
        }
    }
Example #4
0
    public void ShouldTakeLessThanTotal()
    {
        using (var work = new WorkRemaining <int>(Enumerable.Repeat(5, 5)))
        {
            work.AddAdditional(Enumerable.Repeat(3, 3));

            var dataReturned = work.Take(4).ToArray();
            var expected     = Enumerable.Repeat(3, 3).Concat(Enumerable.Repeat(5, 1)).ToArray();

            Assert.That(dataReturned, Is.EqualTo(expected));
        }
    }
Example #5
0
    public void ShouldReturnFromBufferBeforeSequence()
    {
        using (var work = new WorkRemaining <int>(Enumerable.Repeat(5, 5)))
        {
            work.AddAdditional(Enumerable.Repeat(3, 3));

            var dataReturned = work.Take(8).ToArray();
            var expected     = Enumerable.Repeat(3, 3).Concat(Enumerable.Repeat(5, 5)).ToArray();

            Assert.That(dataReturned, Is.EqualTo(expected));
        }
    }