/// <summary> /// Compare points value of to Data object,ordering not mean. /// </summary> /// <param name="obj"></param> /// <returns></returns> public override bool Equals(object obj) { if (!(obj is Data)) { return(false); } var other = obj as Data; if (other.Length != this.Length) { return(false); } foreach (var pOther in other.PointsList) { bool found = false; foreach (var pThis in this.PointsList) { if (DecimalTools.Compare(pOther, pThis)) { found = true; break; } } if (!found) { return(false); } } return(true); }
public void Test_CompareArrays() { var expectedCompare_a2_a3 = false; var expectedCompare_a2_a4 = true; var actualCompare_a2_a3 = DecimalTools.Compare(a2, a3); var actualCompare_a2_a4 = DecimalTools.Compare(a2, a4); Assert.AreEqual(expectedCompare_a2_a3, actualCompare_a2_a3); Assert.AreEqual(expectedCompare_a2_a4, actualCompare_a2_a4); }
public void Test_CompareArrays_difLength() { var expectedCompare_a1_a2 = false; var expectedCompare_a2_a1 = false; var actualCompare_a1_a2 = DecimalTools.Compare(a1, a2); var actualCompare_a2_a1 = DecimalTools.Compare(a2, a1); Assert.AreEqual(expectedCompare_a1_a2, actualCompare_a1_a2); Assert.AreEqual(expectedCompare_a2_a1, actualCompare_a2_a1); }
/// <summary> /// Remove point from current points list. /// Update bounding box. /// </summary> /// <param name="old">Points that might be delete</param> public void RemovePoints(Data old) { foreach (var point in old.PointsList) { int i = 0; while (i < PointsList.Count) { if (DecimalTools.Compare(point, PointsList[i])) { PointsList.RemoveAt(i); break; } i++; } } Update(); }