示例#1
0
        public void Ctor_WhenEndOffsetIsLessThanStartOffset_ClampsEndOffsetToOneLessThanStart(int start, int end)
        {
            var range = new EdgeRange(start, end);

            Assert.Equal(start, range.StartOffset);
            Assert.Equal(start - 1, range.EndOffset);
            Assert.Equal(0, range.Count);
            Assert.True(range.IsEmpty);
        }
示例#2
0
        public void LimitCountToEnd_WhenProvidingMaxLengthLessThanCount_MovesStartOffet()
        {
            var range = new EdgeRange(0, 9);

            Assert.Equal(10, range.Count);

            range.LimitCountToEnd(5);

            Assert.Equal(5, range.Count);
            Assert.Equal(9, range.EndOffset);
            Assert.Equal(5, range.StartOffset);
        }
示例#3
0
        public void LimitCountToEnd_IfMaxLengthIsNegative_ThrowsException()
        {
            var range = new EdgeRange(0, 10);

            Assert.Throws <ArgumentOutOfRangeException>(() => range.LimitCountToEnd(-1));
        }
示例#4
0
        public void Count_WhenStartEqualsEnd_Returns1(int offset)
        {
            var range = new EdgeRange(offset, offset);

            Assert.Equal(1, range.Count);
        }