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)); }