public void DataEquality() { ISimpleTestSpline2D bezierSpline2D = CreateSpline(); Spline2DData data = bezierSpline2D.SplineEntityData2D.Value; Assert.AreEqual(bezierSpline2D.Length(), data.Length); Assert.AreEqual(bezierSpline2D.Times.Count, data.Time.Length); Assert.AreEqual(bezierSpline2D.ControlPoints.Count, data.Points.Length); bezierSpline2D.ClearData(); { float2 a = float2.zero; bezierSpline2D.AddControlPoint(a); data = bezierSpline2D.SplineEntityData2D.Value; Assert.AreEqual(bezierSpline2D.Length(), data.Length); Assert.AreEqual(bezierSpline2D.Times.Count, data.Time.Length); for (int i = 0; i < bezierSpline2D.Times.Count; i++) { Assert.AreEqual(bezierSpline2D.Times[i], data.Time[i]); } Assert.AreEqual(bezierSpline2D.ControlPoints.Count, data.Points.Length); for (int i = 0; i < bezierSpline2D.ControlPoints.Count; i++) { Assert.AreEqual(bezierSpline2D.ControlPoints[i], data.Points[i]); } bezierSpline2D.ClearData(); } { float2 b = new float2(2.5f, 0f); bezierSpline2D.AddControlPoint(b); data = bezierSpline2D.SplineEntityData2D.Value; Assert.AreEqual(bezierSpline2D.Length(), data.Length); Assert.AreEqual(bezierSpline2D.Times.Count, data.Time.Length); for (int i = 0; i < bezierSpline2D.Times.Count; i++) { Assert.AreEqual(bezierSpline2D.Times[i], data.Time[i]); } Assert.AreEqual(bezierSpline2D.ControlPoints.Count, data.Points.Length); for (int i = 0; i < bezierSpline2D.ControlPoints.Count; i++) { Assert.AreEqual(bezierSpline2D.ControlPoints[i], data.Points[i]); } bezierSpline2D.ClearData(); } { float2 c = new float2(7.5f, 0f); bezierSpline2D.AddControlPoint(c); data = bezierSpline2D.SplineEntityData2D.Value; Assert.AreEqual(bezierSpline2D.Length(), data.Length); Assert.AreEqual(bezierSpline2D.Times.Count, data.Time.Length); for (int i = 0; i < bezierSpline2D.Times.Count; i++) { Assert.AreEqual(bezierSpline2D.Times[i], data.Time[i]); } Assert.AreEqual(bezierSpline2D.ControlPoints.Count, data.Points.Length); for (int i = 0; i < bezierSpline2D.ControlPoints.Count; i++) { Assert.AreEqual(bezierSpline2D.ControlPoints[i], data.Points[i]); } bezierSpline2D.ClearData(); } { float2 d = new float2(10f, 0f); bezierSpline2D.AddControlPoint(d); data = bezierSpline2D.SplineEntityData2D.Value; Assert.AreEqual(bezierSpline2D.Length(), data.Length); Assert.AreEqual(bezierSpline2D.Times.Count, data.Time.Length); for (int i = 0; i < bezierSpline2D.Times.Count; i++) { Assert.AreEqual(bezierSpline2D.Times[i], data.Time[i]); } Assert.AreEqual(bezierSpline2D.ControlPoints.Count, data.Points.Length); for (int i = 0; i < bezierSpline2D.ControlPoints.Count; i++) { Assert.AreEqual(bezierSpline2D.ControlPoints[i], data.Points[i]); } bezierSpline2D.ClearData(); } }