161 lines
5.3 KiB
C#

using System;
using System.IO;
using NUnit.Framework;
using XNAPacketWriter = Microsoft.Xna.Framework.Net.PacketWriter;
using ANXPacketWriter = ANX.Framework.Net.PacketWriter;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.TestCenter.Strukturen.Net
{
internal class PacketWriterTest
{
[Test]
public void Constructor1()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
}
[Test]
public void Constructor2()
{
var xna = new XNAPacketWriter(256);
var anx = new ANXPacketWriter(256);
Assert.AreEqual(((MemoryStream)xna.BaseStream).Capacity, ((MemoryStream)anx.BaseStream).Capacity);
}
[Test]
public void WriteVector2()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(new Microsoft.Xna.Framework.Vector2(15f, 3.5f));
anx.Write(new Vector2(15f, 3.5f));
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
for (int index = 0; index < 2; index++)
Assert.AreEqual(xnaReader.ReadSingle(), anxReader.ReadSingle());
}
[Test]
public void WriteVector3()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(new Microsoft.Xna.Framework.Vector3(15f, 3.5f, 0.1f));
anx.Write(new Vector3(15f, 3.5f, 0.1f));
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
for (int index = 0; index < 3; index++)
Assert.AreEqual(xnaReader.ReadSingle(), anxReader.ReadSingle());
}
[Test]
public void WriteVector4()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(new Microsoft.Xna.Framework.Vector4(15f, 3.5f, 0.1f, 1f));
anx.Write(new Vector4(15f, 3.5f, 0.1f, 1f));
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
for (int index = 0; index < 4; index++)
Assert.AreEqual(xnaReader.ReadSingle(), anxReader.ReadSingle());
}
[Test]
public void WriteMatrix()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(Microsoft.Xna.Framework.Matrix.CreateRotationY(0.1f));
anx.Write(Matrix.CreateRotationY(0.1f));
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
for (int index = 0; index < 16; index++)
Assert.AreEqual(xnaReader.ReadSingle(), anxReader.ReadSingle());
}
[Test]
public void WriteQuaternion()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(new Microsoft.Xna.Framework.Quaternion(0.1f, 15f, 3.4f, 4f));
anx.Write(new Quaternion(0.1f, 15f, 3.4f, 4f));
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
for (int index = 0; index < 4; index++)
Assert.AreEqual(xnaReader.ReadSingle(), anxReader.ReadSingle());
}
[Test]
public void WriteColor()
{
var xna = new XNAPacketWriter();
var anx = new ANXPacketWriter();
xna.Write(Microsoft.Xna.Framework.Color.CornflowerBlue);
anx.Write(Color.CornflowerBlue);
Assert.AreEqual(xna.Length, anx.Length);
Assert.AreEqual(xna.Position, anx.Position);
xna.Position = 0;
anx.Position = 0;
var xnaReader = new BinaryReader(xna.BaseStream);
var anxReader = new BinaryReader(anx.BaseStream);
Assert.AreEqual(xnaReader.ReadUInt32(), anxReader.ReadUInt32());
}
}
}