예제 #1
0
        public void BiasForward_OnPos_Ignores()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Forward);

            pc.InsertAt(10, 10);

            end.Offset.Should().Be(10);
        }
예제 #2
0
        public void BiasBackward_After_Ignored()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Backward);

            pc.InsertAt(15, 10);

            end.Offset.Should().Be(10);
        }
예제 #3
0
        public void BiasForward_Before_Shifts()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Forward);

            pc.InsertAt(5, 10);

            end.Offset.Should().Be(20);
        }
예제 #4
0
        public void Insert_After()
        {
            var pc    = new PositionCollection();
            var start = pc.Create(5, Bias.Forward);
            var end   = pc.Create(10, Bias.Backward);

            pc.InsertAt(20, 10);
            start.Offset.Should().Be(5);
            end.Offset.Should().Be(10);
        }
예제 #5
0
        public void Insert_WithEmptyElement()
        {
            var pc         = new PositionCollection();
            var firstStart = pc.Create(5, Bias.Forward);
            var firstEnd   = pc.Create(10, Bias.Backward);

            var start = pc.Create(10, Bias.Forward);
            var end   = pc.Create(10, Bias.Backward);

            pc.InsertAt(10, 10);
            start.Offset.Should().Be(10);
            end.Offset.Should().Be(20);
            firstStart.Offset.Should().Be(5);
            firstEnd.Offset.Should().Be(20);
        }