예제 #1
0
        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();
            }
        }