public void FilterBy_should_work_correctly()
        {
            var a = new StreamCoordinates(
                new[]
            {
                new StreamPosition {
                    Partition = 0, Offset = 1
                },
                new StreamPosition {
                    Partition = 1, Offset = 1
                },
                new StreamPosition {
                    Partition = 2, Offset = 3
                },
                new StreamPosition {
                    Partition = 3, Offset = 4
                }
            });

            var b = new StreamCoordinates(
                new[]
            {
                new StreamPosition {
                    Partition = 0, Offset = 1
                },
                new StreamPosition {
                    Partition = 1, Offset = 2
                },
                new StreamPosition {
                    Partition = 2, Offset = 2
                },
                new StreamPosition {
                    Partition = 5, Offset = 4
                }
            });

            var @fixed = new StreamCoordinates(
                new[]
            {
                new StreamPosition {
                    Partition = 0, Offset = 1
                },
                new StreamPosition {
                    Partition = 1, Offset = 1
                },
                new StreamPosition {
                    Partition = 2, Offset = 3
                }
            });

            a.FilterBy(b).Positions.Should().BeEquivalentTo(@fixed.Positions);
        }