Konstantin Koch cb01231e7d implemented Intermediate.Serializer namespace in Content Pipeline.
removed the old .tfignore file.
2015-03-29 18:16:03 +02:00

75 lines
3.3 KiB
C#

using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
using XnaFrame = Microsoft.Xna.Framework;
using AnxFrame = ANX.Framework;
namespace ANX.Framework.TestCenter.ContentPipeline.Serialization.Intermediate
{
[TestFixture]
public class CurveSerializerTests
{
[Test]
public void SerializeCurve()
{
XnaFrame.Curve xnaCurve = new XnaFrame.Curve();
xnaCurve.PreLoop = XnaFrame.CurveLoopType.Cycle;
xnaCurve.Keys.Add(new XnaFrame.CurveKey(1f, 2f, 4f, -5f, XnaFrame.CurveContinuity.Step));
xnaCurve.Keys.Add(new XnaFrame.CurveKey(5f, 3f, 10f, -2f, XnaFrame.CurveContinuity.Smooth));
AnxFrame.Curve anxCurve = new AnxFrame.Curve();
anxCurve.PreLoop = AnxFrame.CurveLoopType.Cycle;
anxCurve.Keys.Add(new AnxFrame.CurveKey(1f, 2f, 4f, -5f, AnxFrame.CurveContinuity.Step));
anxCurve.Keys.Add(new AnxFrame.CurveKey(5f, 3f, 10f, -2f, AnxFrame.CurveContinuity.Smooth));
StringBuilder anxXml = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(anxXml))
new AnxFrame.Content.Pipeline.Serialization.Intermediate.IntermediateSerializer(changeToXnaNamespaces: true).SerializeObject(writer, anxCurve, null);
StringBuilder xnaXml = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(xnaXml))
XnaFrame.Content.Pipeline.Serialization.Intermediate.IntermediateSerializer.Serialize(writer, xnaCurve, null);
string xna = xnaXml.ToString();
string anx = anxXml.ToString();
Assert.AreEqual(xna, anx);
}
[Test]
public void Deserialize()
{
AnxFrame.Curve anxCurve = new AnxFrame.Curve();
anxCurve.PreLoop = AnxFrame.CurveLoopType.Cycle;
anxCurve.Keys.Add(new AnxFrame.CurveKey(1f, 2f, 4f, -5f, AnxFrame.CurveContinuity.Step));
anxCurve.Keys.Add(new AnxFrame.CurveKey(5f, 3f, 10f, -2f, AnxFrame.CurveContinuity.Smooth));
StringBuilder anxXml = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(anxXml))
new AnxFrame.Content.Pipeline.Serialization.Intermediate.IntermediateSerializer(changeToXnaNamespaces: true).SerializeObject(writer, anxCurve, null);
AnxFrame.Curve resultCurve = null;
string anxText = anxXml.ToString();
using (Stream stream = new MemoryStream(Encoding.Unicode.GetBytes(anxText)))
using (XmlReader reader = XmlReader.Create(stream))
{
resultCurve = new AnxFrame.Content.Pipeline.Serialization.Intermediate.IntermediateSerializer(changeToXnaNamespaces: true).DeserializeObject<AnxFrame.Curve>(reader, null);
}
Assert.NotNull(resultCurve);
Assert.AreEqual(anxCurve.PostLoop, resultCurve.PostLoop);
Assert.AreEqual(anxCurve.PreLoop, resultCurve.PreLoop);
Assert.AreEqual(anxCurve.Keys.Count, resultCurve.Keys.Count);
for (int i = 0; i < anxCurve.Keys.Count; i++)
{
Assert.AreEqual(anxCurve.Keys[i], resultCurve.Keys[i]);
}
}
}
}