public void Zip_SingleEmptySegmentWithSegmentB_ShouldReturnUnionSequence()
 {
     var fixtures = new ZipperTestFixtures <int>()
                    .WithASegment()
                    .WithBSegment(1, 2, 3, 4, 5)
                    .AssertExpectedItemCount(5)
                    .AssertExpectedSequence(1, 2, 3, 4, 5)
                    .AssertExpectedInA(false, false, false, false, false)
                    .AssertExpectedInB(true, true, true, true, true);
 }
 public void Zip_SingleSegmentASmallIntersectionWithSegmentB_ShouldReturnUnionSequence()
 {
     var fixtures = new ZipperTestFixtures <int>()
                    .WithASegment(1, 2, 3, 4, 5)
                    .WithBSegment(4, 5, 6, 7, 8)
                    .AssertExpectedItemCount(8)
                    .AssertExpectedSequence(1, 2, 3, 4, 5, 6, 7, 8)
                    .AssertExpectedInA(true, true, true, true, true, false, false, false)
                    .AssertExpectedInB(false, false, false, true, true, true, true, true);
 }
 public void Zip_SingleIdenticalSegment_ShouldReturnSameSequence()
 {
     var fixtures = new ZipperTestFixtures <int>()
                    .WithASegment(1, 2, 3, 4, 5)
                    .WithBSegment(1, 2, 3, 4, 5)
                    .AssertExpectedItemCount(5)
                    .AssertExpectedSequence(1, 2, 3, 4, 5)
                    .AssertExpectedInA(true, true, true, true, true)
                    .AssertExpectedInB(true, true, true, true, true);
 }
 public void Zip_SingleSegmentAIsSubsetOfSegmentB_ShouldReturnSameSequence()
 {
     var fixtures = new ZipperTestFixtures <int>()
                    .WithASegment(1, 2, 3)
                    .WithBSegment(1, 2, 3, 4, 5)
                    .AssertExpectedItemCount(5)
                    .AssertExpectedSequence(1, 2, 3, 4, 5)
                    .AssertExpectedInA(true, true, true, false, false)
                    .AssertExpectedInB(true, true, true, true, true);
 }
 public void Zip_MultiSegmentAInterspersedWithMultiSegmentBPatternB_ShouldReturnSameSequence()
 {
     var fixtures = new ZipperTestFixtures <int>()
                    .WithASegment(1, 5, 10)
                    .WithASegment(15, 20)
                    .WithBSegment(2, 4, 6)
                    .WithBSegment(8, 10)
                    .AssertExpectedItemCount(9)
                    .AssertExpectedSequence(1, 2, 4, 5, 6, 8, 10, 15, 20)
                    .AssertExpectedInA(true, false, false, true, false, false, true, true, true)
                    .AssertExpectedInB(false, true, true, false, true, true, true, false, false);
 }