예제 #1
0
        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());
        }
예제 #2
0
        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());
        }
예제 #3
0
        public void Should_Return_Max_Sequence_When_Empty_Group()
        {
            var group = new SequenceGroup();

            Assert.Equal(long.MaxValue, group.GetMinimumSequence());
        }