diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
index 6271aeb5..75c837ab 100644
--- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
+++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter.csproj
@@ -39,6 +39,7 @@
+
..\lib\NUnit-2.6.1\bin\nunit.framework.dll
@@ -80,6 +81,10 @@
+
+
+
+
@@ -123,7 +128,6 @@
-
diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj
index c97394e4..86ed6151 100644
--- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj
+++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj
@@ -39,6 +39,7 @@
+
..\lib\NUnit-2.6.1\bin\nunit.framework.dll
@@ -80,6 +81,10 @@
+
+
+
+
@@ -123,7 +128,6 @@
-
diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj
index 7b7111b0..800f569c 100644
--- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj
+++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj
@@ -39,6 +39,7 @@
+
..\lib\NUnit-2.6.1\bin\nunit.framework.dll
@@ -81,6 +82,10 @@
+
+
+
+
@@ -124,7 +129,6 @@
-
diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj
index b7eabe22..6450c1fb 100644
--- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj
+++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj
@@ -41,6 +41,7 @@
+
..\lib\NUnit-2.6.1\bin\nunit.framework.dll
@@ -82,6 +83,10 @@
+
+
+
+
@@ -125,7 +130,6 @@
-
diff --git a/ANX.Framework.TestCenter/Strukturen/EnumValidationTest.cs b/ANX.Framework.TestCenter/Strukturen/EnumValidationTest.cs
index f49a4fdc..123ba83f 100644
--- a/ANX.Framework.TestCenter/Strukturen/EnumValidationTest.cs
+++ b/ANX.Framework.TestCenter/Strukturen/EnumValidationTest.cs
@@ -1,6 +1,7 @@
using System;
using ANX.Framework.Audio;
using ANX.Framework.Graphics;
+using ANX.Framework.Net;
using NUnit.Framework;
using ANX.Framework.Input;
using ANX.Framework.Media;
@@ -62,6 +63,12 @@ namespace ANX.Framework.TestCenter.Strukturen
new object[] { typeof(Microsoft.Xna.Framework.Input.Keys), typeof(Keys) },
new object[] { typeof(Microsoft.Xna.Framework.Media.MediaSourceType), typeof(MediaSourceType) },
new object[] { typeof(Microsoft.Xna.Framework.Media.MediaState), typeof(MediaState) },
+
+ new object[] { typeof(Microsoft.Xna.Framework.Net.NetworkSessionEndReason), typeof(NetworkSessionEndReason) },
+ new object[] { typeof(Microsoft.Xna.Framework.Net.NetworkSessionJoinError), typeof(NetworkSessionJoinError) },
+ new object[] { typeof(Microsoft.Xna.Framework.Net.NetworkSessionState), typeof(NetworkSessionState) },
+ new object[] { typeof(Microsoft.Xna.Framework.Net.NetworkSessionType), typeof(NetworkSessionType) },
+ new object[] { typeof(Microsoft.Xna.Framework.Net.SendDataOptions), typeof(SendDataOptions) },
};
[TestCaseSource("EnumPairs")]
diff --git a/ANX.Framework.TestCenter/Strukturen/Net/NetworkSessionPropertiesTest.cs b/ANX.Framework.TestCenter/Strukturen/Net/NetworkSessionPropertiesTest.cs
new file mode 100644
index 00000000..c9de6da1
--- /dev/null
+++ b/ANX.Framework.TestCenter/Strukturen/Net/NetworkSessionPropertiesTest.cs
@@ -0,0 +1,181 @@
+using System;
+using System.Collections.Generic;
+using NUnit.Framework;
+
+using XNANetworkSessionProperties = Microsoft.Xna.Framework.Net.NetworkSessionProperties;
+using ANXNetworkSessionProperties = ANX.Framework.Net.NetworkSessionProperties;
+
+// 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
+{
+ class NetworkSessionPropertiesTest
+ {
+ [Test]
+ public void Constructor()
+ {
+ var xna = new XNANetworkSessionProperties();
+ var anx = new ANXNetworkSessionProperties();
+
+ Assert.AreEqual(xna.Count, anx.Count);
+ }
+
+ [Test]
+ public void IndexAccessOutOfRange1()
+ {
+ var xna = new XNANetworkSessionProperties();
+ var anx = new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = delegate { xna[15] = null; };
+ TestDelegate anxDeleg = delegate { anx[15] = null; };
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "IndexAccessOutOfRange");
+ }
+
+ [Test]
+ public void IndexAccessOutOfRange2()
+ {
+ var xna = new XNANetworkSessionProperties();
+ var anx = new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = delegate { xna[-4] = null; };
+ TestDelegate anxDeleg = delegate { anx[-4] = null; };
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "IndexAccessOutOfRange");
+ }
+
+ [Test]
+ public void InitialValues()
+ {
+ var xna = new XNANetworkSessionProperties();
+ var anx = new ANXNetworkSessionProperties();
+
+ for (int index = 0; index < xna.Count; index++)
+ Assert.AreEqual(xna[index], anx[index]);
+ }
+
+ [Test]
+ public void IsReadOnly()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ AssertHelper.ConvertEquals(xna.IsReadOnly, anx.IsReadOnly, "IsReadOnly");
+ }
+
+ [Test]
+ public void AddNotSupported()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = () => xna.Add(null);
+ TestDelegate anxDeleg = () => anx.Add(null);
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "AddNotSupported");
+ }
+
+ [Test]
+ public void RemoveNotSupported()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = () => xna.Remove(null);
+ TestDelegate anxDeleg = () => anx.Remove(null);
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "RemoveNotSupported");
+ }
+
+ [Test]
+ public void RemoveAtNotSupported()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = () => xna.RemoveAt(1);
+ TestDelegate anxDeleg = () => anx.RemoveAt(1);
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "RemoveAtNotSupported");
+ }
+
+ [Test]
+ public void ClearNotSupported()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = xna.Clear;
+ TestDelegate anxDeleg = anx.Clear;
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "ClearNotSupported");
+ }
+
+ [Test]
+ public void InsertNotSupported()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ TestDelegate xnaDeleg = () => xna.Insert(1, null);
+ TestDelegate anxDeleg = () => anx.Insert(1, null);
+
+ AssertHelper.ConvertEquals(Assert.Throws(xnaDeleg),
+ Assert.Throws(anxDeleg), "InsertNotSupported");
+ }
+
+ [Test]
+ public void IndexOf()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ xna[6] = 15;
+ anx[6] = 15;
+
+ AssertHelper.ConvertEquals(xna.IndexOf(15), anx.IndexOf(15), "IndexOf");
+ }
+
+ [Test]
+ public void Contains()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ xna[6] = 15;
+ anx[6] = 15;
+
+ AssertHelper.ConvertEquals(xna.Contains(15), anx.Contains(15), "Contains");
+ }
+
+ [Test]
+ public void CopyTo()
+ {
+ var xna = (IList)new XNANetworkSessionProperties();
+ var anx = (IList)new ANXNetworkSessionProperties();
+
+ xna[6] = 15;
+ anx[6] = 15;
+
+ var xnaData = new int?[8];
+ var anxData = new int?[8];
+
+ xna.CopyTo(xnaData, 0);
+ anx.CopyTo(anxData, 0);
+
+ for (int index = 0; index < xnaData.Length; index++)
+ Assert.AreEqual(xnaData[index], anxData[index]);
+
+ Assert.AreEqual(xnaData[6], 15);
+ Assert.AreEqual(anxData[6], 15);
+ }
+ }
+}
diff --git a/ANX.Framework.TestCenter/Strukturen/Net/PacketReaderTest.cs b/ANX.Framework.TestCenter/Strukturen/Net/PacketReaderTest.cs
new file mode 100644
index 00000000..d197b925
--- /dev/null
+++ b/ANX.Framework.TestCenter/Strukturen/Net/PacketReaderTest.cs
@@ -0,0 +1,197 @@
+using System;
+using System.IO;
+using NUnit.Framework;
+
+using XNAPacketReader = Microsoft.Xna.Framework.Net.PacketReader;
+using ANXPacketReader = ANX.Framework.Net.PacketReader;
+
+// 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
+{
+ class PacketReaderTest
+ {
+ [Test]
+ public void Constructor1()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ Assert.AreEqual(xna.Length, anx.Length);
+ Assert.AreEqual(xna.Position, anx.Position);
+ }
+
+ [Test]
+ public void Constructor2()
+ {
+ var xna = new XNAPacketReader(256);
+ var anx = new ANXPacketReader(256);
+
+ Assert.AreEqual(((MemoryStream)xna.BaseStream).Capacity, ((MemoryStream)anx.BaseStream).Capacity);
+ }
+
+ [Test]
+ public void ReadVector2()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ xnaWriter.Write(4.5f);
+ xnaWriter.Write(1f);
+
+ anxWriter.Write(4.5f);
+ anxWriter.Write(1f);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadVector2(), anx.ReadVector2(), "ReadVector2");
+ }
+
+ [Test]
+ public void ReadVector3()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ xnaWriter.Write(4.5f);
+ xnaWriter.Write(1f);
+ xnaWriter.Write(0.4f);
+
+ anxWriter.Write(4.5f);
+ anxWriter.Write(1f);
+ anxWriter.Write(0.4f);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadVector3(), anx.ReadVector3(), "ReadVector3");
+ }
+
+ [Test]
+ public void ReadVector4()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ xnaWriter.Write(4.5f);
+ xnaWriter.Write(1f);
+ xnaWriter.Write(0.4f);
+ xnaWriter.Write(16f);
+
+ anxWriter.Write(4.5f);
+ anxWriter.Write(1f);
+ anxWriter.Write(0.4f);
+ anxWriter.Write(16f);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadVector4(), anx.ReadVector4(), "ReadVector4");
+ }
+
+ [Test]
+ public void ReadMatrix()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ Matrix mat = Matrix.CreateRotationY(0.1f);
+ xnaWriter.Write(mat.M11);
+ xnaWriter.Write(mat.M12);
+ xnaWriter.Write(mat.M13);
+ xnaWriter.Write(mat.M14);
+ xnaWriter.Write(mat.M21);
+ xnaWriter.Write(mat.M22);
+ xnaWriter.Write(mat.M23);
+ xnaWriter.Write(mat.M24);
+ xnaWriter.Write(mat.M31);
+ xnaWriter.Write(mat.M32);
+ xnaWriter.Write(mat.M33);
+ xnaWriter.Write(mat.M34);
+ xnaWriter.Write(mat.M41);
+ xnaWriter.Write(mat.M42);
+ xnaWriter.Write(mat.M43);
+ xnaWriter.Write(mat.M44);
+
+ anxWriter.Write(mat.M11);
+ anxWriter.Write(mat.M12);
+ anxWriter.Write(mat.M13);
+ anxWriter.Write(mat.M14);
+ anxWriter.Write(mat.M21);
+ anxWriter.Write(mat.M22);
+ anxWriter.Write(mat.M23);
+ anxWriter.Write(mat.M24);
+ anxWriter.Write(mat.M31);
+ anxWriter.Write(mat.M32);
+ anxWriter.Write(mat.M33);
+ anxWriter.Write(mat.M34);
+ anxWriter.Write(mat.M41);
+ anxWriter.Write(mat.M42);
+ anxWriter.Write(mat.M43);
+ anxWriter.Write(mat.M44);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadMatrix(), anx.ReadMatrix(), "ReadMatrix");
+ }
+
+ [Test]
+ public void ReadQuaternion()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ xnaWriter.Write(4.5f);
+ xnaWriter.Write(0.4f);
+ xnaWriter.Write(1f);
+ xnaWriter.Write(16f);
+
+ anxWriter.Write(4.5f);
+ anxWriter.Write(0.4f);
+ anxWriter.Write(1f);
+ anxWriter.Write(16f);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadQuaternion(), anx.ReadQuaternion(), "ReadQuaternion");
+ }
+
+ [Test]
+ public void ReadColor()
+ {
+ var xna = new XNAPacketReader();
+ var anx = new ANXPacketReader();
+
+ var xnaWriter = new BinaryWriter(xna.BaseStream);
+ var anxWriter = new BinaryWriter(anx.BaseStream);
+
+ xnaWriter.Write(Color.LightBlue.PackedValue);
+ anxWriter.Write(Color.LightBlue.PackedValue);
+
+ xna.BaseStream.Position = 0;
+ anx.BaseStream.Position = 0;
+
+ AssertHelper.ConvertEquals(xna.ReadColor(), anx.ReadColor(), "ReadColor");
+ }
+ }
+}
diff --git a/ANX.Framework.TestCenter/Strukturen/Net/PacketWriterTest.cs b/ANX.Framework.TestCenter/Strukturen/Net/PacketWriterTest.cs
new file mode 100644
index 00000000..b853d88a
--- /dev/null
+++ b/ANX.Framework.TestCenter/Strukturen/Net/PacketWriterTest.cs
@@ -0,0 +1,160 @@
+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());
+ }
+ }
+}
diff --git a/ANX.Framework.TestCenter/Strukturen/Net/QualityOfServiceTest.cs b/ANX.Framework.TestCenter/Strukturen/Net/QualityOfServiceTest.cs
new file mode 100644
index 00000000..3124cf92
--- /dev/null
+++ b/ANX.Framework.TestCenter/Strukturen/Net/QualityOfServiceTest.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Globalization;
+using System.Reflection;
+using NUnit.Framework;
+
+using XNAQualityOfService = Microsoft.Xna.Framework.Net.QualityOfService;
+using ANXQualityOfService = ANX.Framework.Net.QualityOfService;
+
+// 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
+{
+ class QualityOfServiceTest
+ {
+ [Test]
+ public void Constructor1()
+ {
+ var xna = (XNAQualityOfService)Activator.CreateInstance(typeof(XNAQualityOfService), true);
+ var anx = (ANXQualityOfService)Activator.CreateInstance(typeof(ANXQualityOfService), true);
+
+ Assert.AreEqual(xna.IsAvailable, anx.IsAvailable);
+ Assert.AreEqual(xna.BytesPerSecondUpstream, anx.BytesPerSecondUpstream);
+ Assert.AreEqual(xna.BytesPerSecondDownstream, anx.BytesPerSecondDownstream);
+ Assert.AreEqual(xna.AverageRoundtripTime, anx.AverageRoundtripTime);
+ Assert.AreEqual(xna.MinimumRoundtripTime, anx.MinimumRoundtripTime);
+ }
+
+ [Test]
+ public void Constructor2()
+ {
+ var parameters = new object[] { 1024, 512, TimeSpan.FromSeconds(10.0), TimeSpan.FromSeconds(1.0) };
+ var xna = (XNAQualityOfService)Activator.CreateInstance(typeof(XNAQualityOfService),
+ BindingFlags.NonPublic | BindingFlags.Instance, null, parameters, CultureInfo.InvariantCulture);
+ var anx = (ANXQualityOfService)Activator.CreateInstance(typeof(ANXQualityOfService),
+ BindingFlags.NonPublic | BindingFlags.Instance, null, parameters, CultureInfo.InvariantCulture);
+
+ Assert.AreEqual(xna.IsAvailable, anx.IsAvailable);
+ Assert.AreEqual(xna.BytesPerSecondUpstream, anx.BytesPerSecondUpstream);
+ Assert.AreEqual(xna.BytesPerSecondDownstream, anx.BytesPerSecondDownstream);
+ Assert.AreEqual(xna.AverageRoundtripTime, anx.AverageRoundtripTime);
+ Assert.AreEqual(xna.MinimumRoundtripTime, anx.MinimumRoundtripTime);
+ }
+ }
+}
diff --git a/ANX.Framework/Net/AvailableNetworkSession.cs b/ANX.Framework/Net/AvailableNetworkSession.cs
index 44256d87..88648a3c 100644
--- a/ANX.Framework/Net/AvailableNetworkSession.cs
+++ b/ANX.Framework/Net/AvailableNetworkSession.cs
@@ -11,11 +11,11 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
- [PercentageComplete(0)]
+ [PercentageComplete(95)]
[TestState(TestStateAttribute.TestState.Untested)]
public sealed class AvailableNetworkSession
{
- public AvailableNetworkSession()
+ internal AvailableNetworkSession()
{
QualityOfService = new QualityOfService();
}
diff --git a/ANX.Framework/Net/NetworkException.cs b/ANX.Framework/Net/NetworkException.cs
index b7ad309b..b6e6ea88 100644
--- a/ANX.Framework/Net/NetworkException.cs
+++ b/ANX.Framework/Net/NetworkException.cs
@@ -8,7 +8,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
- [PercentageComplete(0)]
+ [PercentageComplete(95)]
[TestState(TestStateAttribute.TestState.Untested)]
public class NetworkException : Exception
{
diff --git a/ANX.Framework/Net/NetworkSessionEndReason.cs b/ANX.Framework/Net/NetworkSessionEndReason.cs
index a859d418..d8ccdbf2 100644
--- a/ANX.Framework/Net/NetworkSessionEndReason.cs
+++ b/ANX.Framework/Net/NetworkSessionEndReason.cs
@@ -11,6 +11,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
+ [Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public enum NetworkSessionEndReason
{
diff --git a/ANX.Framework/Net/NetworkSessionJoinError.cs b/ANX.Framework/Net/NetworkSessionJoinError.cs
index 221a5b7c..235ad35c 100644
--- a/ANX.Framework/Net/NetworkSessionJoinError.cs
+++ b/ANX.Framework/Net/NetworkSessionJoinError.cs
@@ -11,6 +11,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
+ [Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public enum NetworkSessionJoinError
{
diff --git a/ANX.Framework/Net/NetworkSessionJoinException.cs b/ANX.Framework/Net/NetworkSessionJoinException.cs
index 368d7c30..2beba66b 100644
--- a/ANX.Framework/Net/NetworkSessionJoinException.cs
+++ b/ANX.Framework/Net/NetworkSessionJoinException.cs
@@ -8,7 +8,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
- [PercentageComplete(0)]
+ [PercentageComplete(95)]
[TestState(TestStateAttribute.TestState.Untested)]
public class NetworkSessionJoinException : NetworkException
{
diff --git a/ANX.Framework/Net/NetworkSessionProperties.cs b/ANX.Framework/Net/NetworkSessionProperties.cs
index 8ad20e94..365d138e 100644
--- a/ANX.Framework/Net/NetworkSessionProperties.cs
+++ b/ANX.Framework/Net/NetworkSessionProperties.cs
@@ -9,97 +9,93 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
- [PercentageComplete(0)]
- [TestState(TestStateAttribute.TestState.Untested)]
- public class NetworkSessionProperties : IList, ICollection,
- IEnumerable, IEnumerable
- {
- #region IList Member
+ [PercentageComplete(100)]
+ [Developer("AstrorEnales")]
+ [TestState(TestStateAttribute.TestState.Tested)]
+ public class NetworkSessionProperties : IList, ICollection, IEnumerable, IEnumerable
+ {
+ private const int DataCount = 8;
- public int IndexOf(int? item)
- {
- throw new NotImplementedException();
+ private readonly int?[] data = new int?[DataCount];
+
+ public int Count
+ {
+ get { return DataCount; }
+ }
+
+ bool ICollection.IsReadOnly
+ {
+ get { return false; }
+ }
+
+ public int? this[int index]
+ {
+ get
+ {
+ if (index < 0 || index >= DataCount)
+ throw new ArgumentOutOfRangeException("index");
+
+ return data[index];
+ }
+ set
+ {
+ if (index < 0 || index >= DataCount)
+ throw new ArgumentOutOfRangeException("index");
+
+ data[index] = value;
+ }
+ }
+
+ public int IndexOf(int? item)
+ {
+ return ((IList)data).IndexOf(item);
}
- public void Insert(int index, int? item)
- {
- throw new NotImplementedException();
- }
+ bool ICollection.Contains(int? item)
+ {
+ return ((IList)data).Contains(item);
+ }
- public void RemoveAt(int index)
- {
- throw new NotImplementedException();
- }
+ void ICollection.CopyTo(int?[] array, int arrayIndex)
+ {
+ data.CopyTo(array, arrayIndex);
+ }
- public int? this[int index]
- {
- get
- {
- throw new NotImplementedException();
- }
- set
- {
- throw new NotImplementedException();
- }
- }
+ public IEnumerator GetEnumerator()
+ {
+ return ((IList)data).GetEnumerator();
+ }
- #endregion
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return data.GetEnumerator();
+ }
- #region ICollection Member
+ #region Unsupported Methods
+ void IList.Insert(int index, int? item)
+ {
+ throw new NotSupportedException();
+ }
- public void Add(int? item)
- {
- throw new NotImplementedException();
- }
+ void ICollection.Add(int? item)
+ {
+ throw new NotSupportedException();
+ }
- public void Clear()
- {
- throw new NotImplementedException();
- }
+ void ICollection.Clear()
+ {
+ throw new NotSupportedException();
+ }
- public bool Contains(int? item)
- {
- throw new NotImplementedException();
- }
+ bool ICollection.Remove(int? item)
+ {
+ throw new NotSupportedException();
+ }
- public void CopyTo(int?[] array, int arrayIndex)
- {
- throw new NotImplementedException();
- }
-
- public int Count
- {
- get { throw new NotImplementedException(); }
- }
-
- public bool IsReadOnly
- {
- get { throw new NotImplementedException(); }
- }
-
- public bool Remove(int? item)
- {
- throw new NotImplementedException();
- }
-
- #endregion
-
- #region IEnumerable Member
-
- public IEnumerator GetEnumerator()
- {
- throw new NotImplementedException();
- }
-
- #endregion
-
- #region IEnumerable Member
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- throw new NotImplementedException();
- }
-
- #endregion
+ void IList.RemoveAt(int index)
+ {
+ throw new NotSupportedException();
+ }
+ #endregion
}
}
diff --git a/ANX.Framework/Net/NetworkSessionState.cs b/ANX.Framework/Net/NetworkSessionState.cs
index fc80b402..e80e6907 100644
--- a/ANX.Framework/Net/NetworkSessionState.cs
+++ b/ANX.Framework/Net/NetworkSessionState.cs
@@ -11,6 +11,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
+ [Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public enum NetworkSessionState
{
diff --git a/ANX.Framework/Net/NetworkSessionType.cs b/ANX.Framework/Net/NetworkSessionType.cs
index 2c6456b7..2b732943 100644
--- a/ANX.Framework/Net/NetworkSessionType.cs
+++ b/ANX.Framework/Net/NetworkSessionType.cs
@@ -11,6 +11,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
+ [Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public enum NetworkSessionType
{
diff --git a/ANX.Framework/Net/PacketReader.cs b/ANX.Framework/Net/PacketReader.cs
index 8fbf5c24..12dcd64e 100644
--- a/ANX.Framework/Net/PacketReader.cs
+++ b/ANX.Framework/Net/PacketReader.cs
@@ -9,7 +9,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("AstrorEnales")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public class PacketReader : BinaryReader
{
public int Length
diff --git a/ANX.Framework/Net/PacketWriter.cs b/ANX.Framework/Net/PacketWriter.cs
index 115bc07e..30bbd5e6 100644
--- a/ANX.Framework/Net/PacketWriter.cs
+++ b/ANX.Framework/Net/PacketWriter.cs
@@ -9,7 +9,8 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("AstrorEnales")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public class PacketWriter : BinaryWriter
{
public int Length
diff --git a/ANX.Framework/Net/QualityOfService.cs b/ANX.Framework/Net/QualityOfService.cs
index 554c3441..41b7fdca 100644
--- a/ANX.Framework/Net/QualityOfService.cs
+++ b/ANX.Framework/Net/QualityOfService.cs
@@ -8,13 +8,28 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
- [TestState(TestStateAttribute.TestState.Untested)]
+ [Developer("AstrorEnales")]
+ [TestState(TestStateAttribute.TestState.Tested)]
public sealed class QualityOfService
{
- public bool IsAvailable { get; internal set; }
- public int BytesPerSecondUpstream { get; internal set; }
- public int BytesPerSecondDownstream { get; internal set; }
- public TimeSpan AverageRoundtripTime { get; internal set; }
- public TimeSpan MinimumRoundtripTime { get; internal set; }
+ public bool IsAvailable { get; private set; }
+ public int BytesPerSecondUpstream { get; private set; }
+ public int BytesPerSecondDownstream { get; private set; }
+ public TimeSpan AverageRoundtripTime { get; private set; }
+ public TimeSpan MinimumRoundtripTime { get; private set; }
+
+ internal QualityOfService()
+ {
+ }
+
+ internal QualityOfService(int bytesPerSecondUpstream, int bytesPerSecondDownstream, TimeSpan averageRoundtripTime,
+ TimeSpan minimumRoundtripTime)
+ {
+ BytesPerSecondUpstream = bytesPerSecondUpstream;
+ BytesPerSecondDownstream = bytesPerSecondDownstream;
+ AverageRoundtripTime = averageRoundtripTime;
+ MinimumRoundtripTime = minimumRoundtripTime;
+ IsAvailable = true;
+ }
}
}
diff --git a/ANX.Framework/Net/SendDataOptions.cs b/ANX.Framework/Net/SendDataOptions.cs
index b747e102..dc0a4214 100644
--- a/ANX.Framework/Net/SendDataOptions.cs
+++ b/ANX.Framework/Net/SendDataOptions.cs
@@ -11,6 +11,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.Framework.Net
{
[PercentageComplete(100)]
+ [Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.Tested)]
public enum SendDataOptions
{