public void WillCombineTablesOfDifferentLengths()
        {
            var a = new int[]
            {
                1, 2
            };

            var b = new int[]
            {
                75, 75,
                42, 46,
                13, 15
            };

            var c = new int[]
            {
                33, 35,
                77, 79
            };

            var d = new int[]
            {
                4, 10,
                99, 99,
                101, 105,
                303, 307
            };

            var result = ValueRangeCompiler.Compile(new[] { a, b, c, d }, new int[0], new int[0]);

            Assert.Equal(
                new[] { 1, 2, 4, 10, 13, 15, 33, 35, 42, 46, 75, 75, 77, 79, 99, 99, 101, 105, 303, 307 },
                result);
        }
Exemple #2
0
        public void ThrowsForInvalidRange()
        {
            var a = new List <int>
            {
                7, 5
            };

            Should.Throw <ArgumentException>(() => { ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]); });
        }
        public void ThrowsForInvalidRange()
        {
            var a = new int[]
            {
                7, 5
            };

            Assert.Throws <ArgumentException>(() => { ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]); });
        }
Exemple #4
0
        public void WillCompileSingleTable()
        {
            var a = new List <int> {
                1, 1
            };
            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            result.ShouldBe(new[] { 1, 1 });
        }
Exemple #5
0
        public void WillSortSingleTable()
        {
            var a = new List <int> {
                3, 7, 18, 22, 1, 1, 9, 13
            };
            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            result.ShouldBe(new[] { 1, 1, 3, 7, 9, 13, 18, 22 });
        }
Exemple #6
0
        public void ThrowsForOddLengthArray()
        {
            var a = new List <int>
            {
                5, 7,
                4
            };

            Should.Throw <ArgumentException>(() => { ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]); });
        }
        public void ThrowsForOddLengthArray()
        {
            var a = new int[]
            {
                5, 7,
                4
            };

            Assert.Throws <ArgumentException>(() => { ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]); });
        }
        public void WillRemoveValueRangeOverlappingEndValue()
        {
            var a = new int[]
            {
                10, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[] { 15, 25 });

            Assert.Equal(new[] { 10, 14 }, result);
        }
        public void WillRemoveValueRangeEqualToStartValue()
        {
            var a = new int[]
            {
                10, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[] { 10, 15 });

            Assert.Equal(new[] { 16, 20 }, result);
        }
        public void WillIncludeMultipleValueRangesBeforeBaseTable()
        {
            var a = new int[]
            {
                15, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[] { 1, 1, 4, 7 }, new int[0]);

            Assert.Equal(new[] { 1, 1, 4, 7, 15, 20 }, result);
        }
        public void WillIncludeMultipleValueRangesAfterBaseTable()
        {
            var a = new int[]
            {
                1, 5
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[] { 10, 10, 15, 20 }, new int[0]);

            Assert.Equal(new[] { 1, 5, 10, 10, 15, 20 }, result);
        }
        public void WillCompileSingleTable()
        {
            var a = new int[]
            {
                1, 1
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            Assert.Equal(new[] { 1, 1 }, result);
        }
Exemple #13
0
        public void WillRemoveValueRangeOverlappingEndValue()
        {
            var a = new List <int>
            {
                10, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new[] { 15, 25 });

            result.ShouldBe(new[] { 10, 14 });
        }
Exemple #14
0
        public void WillRemoveValueRangeEqualToStartValue()
        {
            var a = new List <int>
            {
                10, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new[] { 10, 15 });

            result.ShouldBe(new[] { 16, 20 });
        }
Exemple #15
0
        public void WillIncludeMultipleValueRangesBeforeBaseTable()
        {
            var a = new List <int>
            {
                15, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new[] { 1, 1, 4, 7 }, new int[0]);

            result.ShouldBe(new[] { 1, 1, 4, 7, 15, 20 });
        }
Exemple #16
0
        public void WillIncludeMultipleValueRangesAfterBaseTable()
        {
            var a = new List <int>
            {
                1, 5
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new[] { 10, 10, 15, 20 }, new int[0]);

            result.ShouldBe(new[] { 1, 5, 10, 10, 15, 20 });
        }
Exemple #17
0
        public void WillRemoveValueRangeOverlappingStartValueOnLaterRanges()
        {
            var a = new List <int>
            {
                10, 20,
                30, 40
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new[] { 25, 35 });

            result.ShouldBe(new[] { 10, 20, 36, 40 });
        }
        public void WillRemoveValueRangeOverlappingStartValueOnLaterRanges()
        {
            var a = new int[]
            {
                10, 20,
                30, 40
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[] { 25, 35 });

            Assert.Equal(new[] { 10, 20, 36, 40 }, result);
        }
Exemple #19
0
        public void WillCompileTwoTables()
        {
            var a = new List <int> {
                3, 7, 22, 25
            };
            var b = new List <int> {
                9, 15, 18, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a, b }, new int[0], new int[0]);

            result.ShouldBe(new[] { 3, 7, 9, 15, 18, 20, 22, 25 });
        }
Exemple #20
0
        public void WillReduceAdjacentValueRanges()
        {
            var a = new List <int>
            {
                1, 20,
                20, 35,
                35, 48,
                48, 50
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            result.ShouldBe(new[] { 1, 50 });
        }
        public void WillReduceAdjacentValueRanges()
        {
            var a = new int[]
            {
                1, 20,
                20, 35,
                35, 48,
                48, 50
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            Assert.Equal(new[] { 1, 50 }, result);
        }
        public void WillReduceInclusiveValueRanges()
        {
            var a = new int[]
            {
                1, 100,
                9, 15,
                18, 22,
                33, 75
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            Assert.Equal(new[] { 1, 100 }, result);
        }
Exemple #23
0
        public void WillReduceInclusiveValueRanges()
        {
            var a = new List <int>
            {
                1, 100,
                9, 15,
                18, 22,
                33, 75
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            result.ShouldBe(new[] { 1, 100 });
        }
Exemple #24
0
        public void WillReduceOverlappingValueRanges()
        {
            var a = new List <int>
            {
                1, 10,
                9, 12,
                14, 17,
                15, 18
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            result.ShouldBe(
                new[] { 1, 12, 14, 18 });
        }
        public void WillReduceOverlappingValueRanges()
        {
            var a = new int[]
            {
                1, 10,
                9, 12,
                14, 17,
                15, 18
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            Assert.Equal(
                new[] { 1, 12, 14, 18 },
                result);
        }
        public void WillSortSingleTable()
        {
            var a = new int[]
            {
                3, 7,
                18, 22,
                1, 1,
                9, 13
            };

            var result = ValueRangeCompiler.Compile(new[] { a }, new int[0], new int[0]);

            Assert.Equal(
                new[] { 1, 1, 3, 7, 9, 13, 18, 22 },
                result);
        }
Exemple #27
0
        public void WillCombineTablesOfDifferentLengths()
        {
            var a = new List <int> {
                1, 2
            };
            var b = new List <int> {
                75, 75, 42, 46, 13, 15
            };
            var c = new List <int> {
                33, 35, 77, 79
            };
            var d = new List <int> {
                4, 10, 99, 99, 101, 105, 303, 307
            };

            var result = ValueRangeCompiler.Compile(new[] { a, b, c, d }, new int[0], new int[0]);

            result.ShouldBe(new[] { 1, 2, 4, 10, 13, 15, 33, 35, 42, 46, 75, 75, 77, 79, 99, 99, 101, 105, 303, 307 });
        }
        public void WillCombileTwoTables()
        {
            var a = new int[]
            {
                3, 7,
                22, 25
            };

            var b = new int[]
            {
                9, 15,
                18, 20
            };

            var result = ValueRangeCompiler.Compile(new[] { a, b }, new int[0], new int[0]);

            Assert.Equal(
                new[] { 3, 7, 9, 15, 18, 20, 22, 25 },
                result);
        }