public void TestEmptyRangeCOllection()
        {
            var rc = new SparseDoubleRange();

            Assert.IsFalse(rc.Contains(0));
            Assert.AreEqual(0, rc.Count);
        }
        public void TestMethod3()
        {
            var rc = new SparseDoubleRange();

            Assert.AreEqual(0, rc.RangeCount);
            rc.AddInclusive(1, 2);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(1.5));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsFalse(rc.Contains(2.5));
            Assert.AreEqual(1, rc.Count);
            Assert.AreEqual(1, rc.RangeCount);
        }
        public void TestMethodBuildingRange()
        {
            var rc = new SparseDoubleRange();

            Assert.AreEqual(0, rc.RangeCount);
            // rc = []
            rc.AddInclusive(1, 2);
            // rc = [(1,2)]

            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.AreEqual(1, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(2, rc.Upper);
            rc.AddInclusive(3, 4);
            // rc = [(1,2),(3,4)]
            Assert.AreEqual(2, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsFalse(rc.Contains(2.5));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(4.5));
            Assert.AreEqual(2, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.AddInclusive(2, 3);
            // rc = [(1,4)] -> [1,2,3,4]

            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);
        }
        public void TestMethod_GetValues2()
        {
            var r = new SparseDoubleRange();

            r.AddInclusive(1, 2.3);
            r.AddInclusive(4, 4.5);

            var ax = r.Values.ToList();

            Assert.AreEqual(3, ax.Count);
            Assert.AreEqual(1, ax[0]);
            Assert.AreEqual(2, ax[1]);
            Assert.AreEqual(4, ax[2]);

            var ay = r.GetValues(0.5).ToList();

            Assert.AreEqual(5, ay.Count);
            Assert.AreEqual(1, ay[0]);
            Assert.AreEqual(1.5, ay[1]);
            Assert.AreEqual(2.0, ay[2]);

            Assert.AreEqual(4.0, ay[3]);
            Assert.AreEqual(4.5, ay[4]);
        }
        public void TestMethodShrinkingRange()
        {
            var rc = new SparseDoubleRange();

            rc.AddInclusive(1, 4);
            // rc = [(1,4)] -> [1,2,3,4]
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveInclusive(DoubleRange.FromEndpoints(-2, -1));
            // rc = [(1,4)] -> [1,2,3,4]
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveExclusive(2, 3);
            // rc = [(1,2),(3,4)]
            Assert.AreEqual(2, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsFalse(rc.Contains(2.5));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(4.5));
            Assert.AreEqual(2, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveInclusive(3, 4);
            // rc = [(1,2)]
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.AreEqual(1, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(2, rc.Upper);

            rc.RemoveInclusive(1, 2);
            // rc = [] -> []

            Assert.AreEqual(0, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsFalse(rc.Contains(1));
            Assert.IsFalse(rc.Contains(2));
        }
Exemple #6
0
        public void TestMethod_GetValues2()
        {
            var r = new SparseDoubleRange();
            r.AddInclusive(1, 2.3);
            r.AddInclusive(4, 4.5);

            var ax = r.Values.ToList();
            Assert.AreEqual(3, ax.Count);
            Assert.AreEqual(1, ax[0]);
            Assert.AreEqual(2, ax[1]);
            Assert.AreEqual(4, ax[2]);

            var ay = r.GetValues(0.5).ToList();
            Assert.AreEqual(5, ay.Count);
            Assert.AreEqual(1, ay[0]);
            Assert.AreEqual(1.5, ay[1]);
            Assert.AreEqual(2.0, ay[2]);

            Assert.AreEqual(4.0, ay[3]);
            Assert.AreEqual(4.5, ay[4]);
        }
Exemple #7
0
        public void TestMethodShrinkingRange()
        {
            var rc = new SparseDoubleRange();
            rc.AddInclusive(1, 4);
            // rc = [(1,4)] -> [1,2,3,4]
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveInclusive(DoubleRange.FromEndpoints(-2, -1));
            // rc = [(1,4)] -> [1,2,3,4]
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveExclusive(2, 3);
            // rc = [(1,2),(3,4)] 
            Assert.AreEqual(2, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsFalse(rc.Contains(2.5));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(4.5));
            Assert.AreEqual(2, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.RemoveInclusive(3, 4);
            // rc = [(1,2)] 
            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.AreEqual(1, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(2, rc.Upper);

            rc.RemoveInclusive(1, 2);
            // rc = [] -> []

            Assert.AreEqual(0, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsFalse(rc.Contains(1));
            Assert.IsFalse(rc.Contains(2));
        }
Exemple #8
0
        public void TestMethodBuildingRange()
        {
            var rc = new SparseDoubleRange();
            Assert.AreEqual(0, rc.RangeCount);
            // rc = [] 
            rc.AddInclusive(1, 2);
            // rc = [(1,2)] 

            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.AreEqual(1, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(2, rc.Upper);
            rc.AddInclusive(3, 4);
            // rc = [(1,2),(3,4)] 
            Assert.AreEqual(2, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsFalse(rc.Contains(2.5));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(4.5));
            Assert.AreEqual(2, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);

            rc.AddInclusive(2, 3);
            // rc = [(1,4)] -> [1,2,3,4]

            Assert.AreEqual(1, rc.RangeCount);
            Assert.IsFalse(rc.Contains(0));
            Assert.IsTrue(rc.Contains(1));
            Assert.IsTrue(rc.Contains(2));
            Assert.IsTrue(rc.Contains(3));
            Assert.IsTrue(rc.Contains(4));
            Assert.IsFalse(rc.Contains(5));
            Assert.AreEqual(3, rc.Count);
            Assert.AreEqual(1, rc.Lower);
            Assert.AreEqual(4, rc.Upper);
        }
Exemple #9
0
 public void TestMethod3()
 {
     var rc = new SparseDoubleRange();
     Assert.AreEqual(0, rc.RangeCount);
     rc.AddInclusive(1, 2);
     Assert.IsFalse(rc.Contains(0));
     Assert.IsTrue(rc.Contains(1));
     Assert.IsTrue(rc.Contains(1.5));
     Assert.IsTrue(rc.Contains(2));
     Assert.IsFalse(rc.Contains(2.5));
     Assert.AreEqual(1, rc.Count);
     Assert.AreEqual(1, rc.RangeCount);
 }
Exemple #10
0
 public void TestEmptyRangeCOllection()
 {
     var rc = new SparseDoubleRange();
     Assert.IsFalse(rc.Contains(0));
     Assert.AreEqual(0, rc.Count);
 }