public void ShouldNotFailIfTryingToRemoveNotExistingSequence()
 {
     var group = new SequenceGroup();
     group.Add(new Sequence());
     group.Add(new Sequence());
     group.Remove(new Sequence());
 }
        public void Should_Not_Fail_If_Trying_To_Remove_NotExisting_Sequence()
        {
            var group = new SequenceGroup();

            group.Add(new Sequence());
            group.Add(new Sequence());
            group.Remove(new Sequence());
        }
示例#3
0
    public void ShouldNotFailIfTryingToRemoveNotExistingSequence()
    {
        var group = new SequenceGroup();

        group.Add(new Sequence());
        group.Add(new Sequence());
        group.Remove(new Sequence());
    }
        public void ShouldReportSizeOfGroup()
        {
            var sequenceGroup = new SequenceGroup();
            sequenceGroup.Add(new Sequence());
            sequenceGroup.Add(new Sequence());
            sequenceGroup.Add(new Sequence());

            Assert.AreEqual(3, sequenceGroup.Size);
        }
        public void Should_Report_Size_Of_Group()
        {
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(new Sequence());
            sequenceGroup.Add(new Sequence());
            sequenceGroup.Add(new Sequence());

            Assert.Equal(3, sequenceGroup.Size());
        }
示例#6
0
    public void ShouldReportSizeOfGroup()
    {
        var sequenceGroup = new SequenceGroup();

        sequenceGroup.Add(new Sequence());
        sequenceGroup.Add(new Sequence());
        sequenceGroup.Add(new Sequence());

        Assert.AreEqual(3, sequenceGroup.Size);
    }
示例#7
0
    public void ShouldReportTheMinimumSequenceForGroupOfTwo()
    {
        var sequenceThree = new Sequence(3L);
        var sequenceSeven = new Sequence(7L);
        var sequenceGroup = new SequenceGroup();

        sequenceGroup.Add(sequenceSeven);
        sequenceGroup.Add(sequenceThree);

        Assert.AreEqual(sequenceThree.Value, sequenceGroup.Value);
    }
        public void ShouldReportTheMinimumSequenceForGroupOfTwo()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            Assert.AreEqual(sequenceThree.Value, sequenceGroup.Value);
        }
        public void Should_Report_The_Minimum_Sequence_For_GroupOfTwo()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);

            var group = new SequenceGroup();

            group.Add(sequenceThree);
            group.Add(sequenceSeven);

            Assert.Equal(sequenceThree.GetValue(), group.GetMinimumSequence());
        }
示例#10
0
        public void ShouldRemoveSequenceFromGroup()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            Assert.AreEqual(sequenceThree.Value, sequenceGroup.Value);
            Assert.True(sequenceGroup.remove(sequenceThree));
            Assert.AreEqual(sequenceSeven.Value, sequenceGroup.Value);
            Assert.AreEqual(1, sequenceGroup.Size);
        }
示例#11
0
        public void ShouldSetGroupSequenceToSameValue()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            const long expectedSequence = 11L;
            sequenceGroup.Value = expectedSequence;

            Assert.AreEqual(expectedSequence, sequenceThree.Value);
            Assert.AreEqual(expectedSequence, sequenceSeven.Value);
        }
        public void ShouldRemoveSequenceFromGroup()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            Assert.AreEqual(sequenceThree.Value, sequenceGroup.Value);

            Assert.IsTrue(sequenceGroup.Remove(sequenceThree));
            Assert.AreEqual(sequenceSeven.Value, sequenceGroup.Value);
            Assert.AreEqual(1, sequenceGroup.Size);
        }
示例#13
0
        public void ShouldSetGroupSequenceToSameValue()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);
            var expectedSequence = 11L;

            sequenceGroup.Value = expectedSequence;

            Assert.AreEqual(expectedSequence, sequenceThree.Value);
            Assert.AreEqual(expectedSequence, sequenceSeven.Value);
        }
示例#14
0
    public void ShouldRemoveSequenceFromGroupWhereItBeenAddedMultipleTimes()
    {
        var sequenceThree = new Sequence(3L);
        var sequenceSeven = new Sequence(7L);
        var sequenceGroup = new SequenceGroup();

        sequenceGroup.Add(sequenceThree);
        sequenceGroup.Add(sequenceSeven);
        sequenceGroup.Add(sequenceThree);

        Assert.AreEqual(sequenceThree.Value, sequenceGroup.Value);

        Assert.IsTrue(sequenceGroup.Remove(sequenceThree));
        Assert.AreEqual(sequenceSeven.Value, sequenceGroup.Value);
        Assert.AreEqual(1, sequenceGroup.Size);
    }
        public void Should_Set_Group_Sequence_To_Same_Value()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            var expectedSequence = 11L;

            sequenceGroup.SetValue(expectedSequence);

            Assert.Equal(expectedSequence, sequenceThree.GetValue());
            Assert.Equal(expectedSequence, sequenceSeven.GetValue());
        }
        public void Should_Remove_Sequence_From_Group_Where_It_Been_Added_Multiple_Times()
        {
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceThree);
            sequenceGroup.Add(sequenceSeven);
            sequenceGroup.Add(sequenceThree);

            Assert.Equal(sequenceThree.GetValue(), sequenceGroup.GetMinimumSequence());

            Assert.True(sequenceGroup.Remove(sequenceThree));
            Assert.Equal(sequenceSeven.GetValue(), sequenceGroup.GetMinimumSequence());
            Assert.Equal(1, sequenceGroup.Size());
        }
        public void ShouldAddOneSequenceToGroup()
        {
            var sequence = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequence);

            Assert.AreEqual(sequence.Value, sequenceGroup.Value);
        }
示例#18
0
    public void ShouldAddOneSequenceToGroup()
    {
        var sequence      = new Sequence(7L);
        var sequenceGroup = new SequenceGroup();

        sequenceGroup.Add(sequence);

        Assert.AreEqual(sequence.Value, sequenceGroup.Value);
    }
        public void ShouldAddWhileRunning()
        {
            var ringBuffer = RingBuffer<TestEvent>.CreateSingleProducer(()=>new TestEvent(), 32);
            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();
            sequenceGroup.Add(sequenceSeven);

            for (var i = 0; i < 11; i++)
            {
                ringBuffer.Publish(ringBuffer.Next());
            }

            sequenceGroup.AddWhileRunning(ringBuffer, sequenceThree);
            Assert.That(sequenceThree.Value, Is.EqualTo(10L));
        }
示例#20
0
    public void ShouldAddWhileRunning()
    {
        var ringBuffer = RingBuffer <TestEvent> .CreateSingleProducer(() => new TestEvent(), 32);

        var sequenceThree = new Sequence(3L);
        var sequenceSeven = new Sequence(7L);
        var sequenceGroup = new SequenceGroup();

        sequenceGroup.Add(sequenceSeven);

        for (var i = 0; i < 11; i++)
        {
            ringBuffer.Publish(ringBuffer.Next());
        }

        sequenceGroup.AddWhileRunning(ringBuffer, sequenceThree);
        Assert.That(sequenceThree.Value, Is.EqualTo(10L));
    }
        public void ShouldAddWhileRunning()
        {
            var ringBuffer = RingBuffer <TestEvent> .CreateSingleProducer(new TestEventFactory(), 32);

            var sequenceThree = new Sequence(3L);
            var sequenceSeven = new Sequence(7L);
            var sequenceGroup = new SequenceGroup();

            sequenceGroup.Add(sequenceSeven);

            for (int i = 0; i < 11; i++)
            {
                ringBuffer.Publish(ringBuffer.Next());
            }

            sequenceGroup.AddWhileRunning(ringBuffer, sequenceThree);
            Assert.Equal(10L, sequenceThree.GetValue());
        }