Ejemplo n.º 1
0
 public void Test_Enumerable_Segmentation_1()
 {
     Vector x = new[] { 1d, 2, 3, 4, 5, 6, 7, 8, 9 };
     Assert.Throws(typeof(InvalidOperationException),
         () => x.Segment(1)
     );
 }
Ejemplo n.º 2
0
        public void Test_Enumerable_Segmentation_2()
        {
            Vector x = new[] { 1d, 2, 3, 4, 5, 6, 7, 8, 9 };
            var ranges = x.Segment(2);
            var truth = new Range[]
            {
                Range.Make(1, 5),
                Range.Make(5, 9.01),
            };

            Assert.AreEqual(truth.Length, ranges.Length);
            for (int i = 0; i < truth.Length; i++)
            {
                Assert.AreEqual(truth[i].Min, ranges[i].Min);
                Assert.AreEqual(truth[i].Max, ranges[i].Max);
            }
        }
Ejemplo n.º 3
0
        public void TestSegmentationStartsWithSecondItem()
        {
            var sequence = new[] { 0 };
            var resultA = sequence.Segment((Func<int, bool>)delegate { throw new Exception(); });
            var resultB = sequence.Segment((Func<int, int, bool>)delegate { throw new Exception(); });
            var resultC = sequence.Segment((Func<int, int, int, bool>)delegate { throw new Exception(); });

            Assert.IsTrue(resultA.Any());
            Assert.IsTrue(resultB.Any());
            Assert.IsTrue(resultC.Any());
        }
Ejemplo n.º 4
0
        public void Test_Enumerable_Segmentation_4()
        {
            Vector x = new[] { 1d, 2, 3, 4, 5, 6, 7, 8, 9 };
            var ranges = x.Segment(4);
            var segmentsize = 8d / 4d;
            var truth = new Range[] 
            {
                Range.Make(1, 1 + segmentsize),
                Range.Make(1 + segmentsize, 1 + 2 * segmentsize),
                Range.Make(1 + 2 * segmentsize, 1 + 3 * segmentsize),
                Range.Make( 1 + 3 * segmentsize, 9.01)
            };

            Assert.AreEqual(truth.Length, ranges.Length);
            for (int i = 0; i < truth.Length; i++)
            {
                Assert.AreEqual(truth[i].Min, ranges[i].Min);
                Assert.AreEqual(truth[i].Max, ranges[i].Max);
            }
        }