Esempio n. 1
0
        public void CalculateEdgeRange_IfBeforeIsOutOfRange_SilentlyUsesTotalCountAsBoundary(int edgeCount,
                                                                                             int afterOffset)
        {
            var range = RelayPagination.CalculateEdgeRange(edgeCount, before: OffsetToCursor(afterOffset));

            Assert.Equal(edgeCount - 1, range.EndOffset);
        }
Esempio n. 2
0
        public void CalculateEdgeRange_IfBeforeIsProvided_ReturnsAllEdgesBeforeArgument()
        {
            var range = RelayPagination.CalculateEdgeRange(10, before: OffsetToCursor(5));

            Assert.Equal(0, range.StartOffset);
            Assert.Equal(4, range.EndOffset);
        }
Esempio n. 3
0
        public void CalculateEdgeRange_IfAfterIsProvided_ReturnsAllEdgesAfterArgument()
        {
            var range = RelayPagination.CalculateEdgeRange(10, after: OffsetToCursor(5));

            Assert.Equal(6, range.StartOffset);
            Assert.Equal(9, range.EndOffset);
        }
Esempio n. 4
0
        public void CalculateEdgeRange_IfFirstIsNegative_ThrowsException()
        {
            var ex = Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                                 RelayPagination.CalculateEdgeRange(10, first: -1));

            Assert.Equal("first", ex.ParamName);
        }
Esempio n. 5
0
        public void CalculateEdgeRange_IfNoPaginationArgumentsAreProvided_ReturnsFullRange()
        {
            var range = RelayPagination.CalculateEdgeRange(10);

            Assert.Equal(0, range.StartOffset);
            Assert.Equal(9, range.EndOffset);
        }
Esempio n. 6
0
        public void CalculateEdgeRange_IfAfterIsAtBeginning_ReturnsAllButTheFirstEdge()
        {
            var range = RelayPagination.CalculateEdgeRange(10, after: OffsetToCursor(0));

            Assert.Equal(1, range.StartOffset);
            Assert.Equal(9, range.EndOffset);
            Assert.Equal(9, range.Count);
        }
Esempio n. 7
0
        public void CalculateEdgeRange_IfFirstAndLastAreProvide_AppliesFirstThenLast()
        {
            var range = RelayPagination.CalculateEdgeRange(20, first: 10, last: 5);

            Assert.Equal(5, range.Count);
            Assert.Equal(5, range.StartOffset);
            Assert.Equal(9, range.EndOffset);
        }
Esempio n. 8
0
        public void CalculateEdgeRange_IfLastIsProvided_LimitsRangeLength()
        {
            var range = RelayPagination.CalculateEdgeRange(20, last: 10);

            Assert.Equal(10, range.Count);
            Assert.Equal(10, range.StartOffset);
            Assert.Equal(19, range.EndOffset);
        }
Esempio n. 9
0
        public void CalculateEdgeRange_IfBeforeIsAtTheEnd_ReturnsAllButTheLastEdge()
        {
            var range = RelayPagination.CalculateEdgeRange(10, before: OffsetToCursor(9));

            Assert.Equal(0, range.StartOffset);
            Assert.Equal(8, range.EndOffset);
            Assert.Equal(9, range.Count);
        }
Esempio n. 10
0
        public void CalculateEdgeRange_IfSelectedRangeHasOneElement_ReturnsRangeOfSingleEdge()
        {
            var range = RelayPagination.CalculateEdgeRange(10, after: OffsetToCursor(4), before: OffsetToCursor(6));

            Assert.Equal(5, range.StartOffset);
            Assert.Equal(5, range.EndOffset);
            Assert.Equal(1, range.Count);
            Assert.False(range.IsEmpty);
        }
Esempio n. 11
0
        public void CalculateEdgeRange_IfSelectedRangeIsEmpty_ReturnsEmptyRange()
        {
            var range = RelayPagination.CalculateEdgeRange(10, after: OffsetToCursor(4), before: OffsetToCursor(5));

            Assert.Equal(5, range.StartOffset);
            Assert.Equal(4, range.EndOffset);
            Assert.Equal(0, range.Count);
            Assert.True(range.IsEmpty);
        }
Esempio n. 12
0
        public void CalculateEdgeRange_IfBeforeIsAtBeginning_ReturnsEmptyRange()
        {
            var range = RelayPagination.CalculateEdgeRange(10, before: OffsetToCursor(0));

            Assert.Equal(0, range.StartOffset);
            Assert.Equal(-1, range.EndOffset);
            Assert.Equal(0, range.Count);
            Assert.True(range.IsEmpty);
        }
Esempio n. 13
0
        public void CalculateEdgeRange_IfAfterIsAtTheEnd_ReturnsEmptyResult()
        {
            var range = RelayPagination.CalculateEdgeRange(10, after: OffsetToCursor(9));

            Assert.Equal(10, range.StartOffset);
            Assert.Equal(9, range.EndOffset);
            Assert.Equal(0, range.Count);
            Assert.True(range.IsEmpty);
        }
Esempio n. 14
0
        public void CalculateEdgeRange_IfAllParametersAreProvided_CalculatesCorrectPagination(
            int count,
            int?afterOffset,
            int?beforeOffset,
            int?first,
            int?last,
            int expectedStart,
            int expectedEnd)
        {
            var range = RelayPagination.CalculateEdgeRange(count,
                                                           first: first,
                                                           last: last,
                                                           after: afterOffset == null ? null : OffsetToCursor(afterOffset.Value),
                                                           before: beforeOffset == null ? null : OffsetToCursor(beforeOffset.Value));

            Assert.Equal(expectedStart, range.StartOffset);
            Assert.Equal(expectedEnd, range.EndOffset);
        }
Esempio n. 15
0
        public void CalculateEdgeRange_IfCountIsEmpty_ReturnsEmptyRange()
        {
            var range = RelayPagination.CalculateEdgeRange(0);

            Assert.Equal(-1, range.EndOffset);
        }
Esempio n. 16
0
        public void CalculateEdgeRange_IfAfterIsOutOfRange_SilentlyUses0AsBoundary(int edgeCount, int afterOffset)
        {
            var range = RelayPagination.CalculateEdgeRange(edgeCount, after: OffsetToCursor(afterOffset));

            Assert.Equal(0, range.StartOffset);
        }