using System; using System.Globalization; using System.Reflection; using ANX.Framework.Graphics; using NUnit.Framework; using XNASamplerStateCollection = Microsoft.Xna.Framework.Graphics.SamplerStateCollection; using XNASamplerState = Microsoft.Xna.Framework.Graphics.SamplerState; // 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.Graphics { class SamplerStateCollectionTest { [Test] public void Constructor() { XNASamplerStateCollection xna; SamplerStateCollection anx; CreateCollections(out xna, out anx); Assert.Null(xna[0]); Assert.Null(anx[0]); } [Test] public void AccessorOutOfRangeLowerBound() { XNASamplerStateCollection xna; SamplerStateCollection anx; CreateCollections(out xna, out anx); TestDelegate xnaOutOfRangeDeleg = () => xna[-1] = null; TestDelegate anxOutOfRangeDeleg = () => anx[-1] = null; AssertHelper.ConvertEquals(Assert.Throws<ArgumentOutOfRangeException>(xnaOutOfRangeDeleg), Assert.Throws<ArgumentOutOfRangeException>(anxOutOfRangeDeleg), "AccessorOutOfRangeLowerBound"); } [Test] public void AccessorOutOfRangeUpperBound() { XNASamplerStateCollection xna; SamplerStateCollection anx; CreateCollections(out xna, out anx); TestDelegate xnaOutOfRangeDeleg = () => xna[20] = null; TestDelegate anxOutOfRangeDeleg = () => anx[20] = null; AssertHelper.ConvertEquals(Assert.Throws<ArgumentOutOfRangeException>(xnaOutOfRangeDeleg), Assert.Throws<ArgumentOutOfRangeException>(anxOutOfRangeDeleg), "AccessorOutOfRangeUpperBound"); } [Test] public void AccessorNullException() { XNASamplerStateCollection xna; SamplerStateCollection anx; CreateCollections(out xna, out anx); TestDelegate xnaOutOfRangeDeleg = () => xna[2] = null; TestDelegate anxOutOfRangeDeleg = () => anx[2] = null; AssertHelper.ConvertEquals(Assert.Throws<ArgumentNullException>(xnaOutOfRangeDeleg), Assert.Throws<ArgumentNullException>(anxOutOfRangeDeleg), "AccessorNullException"); } private void CreateCollections(out XNASamplerStateCollection xna, out SamplerStateCollection anx) { var xnaParameters = new object[] { null, 0, 8 }; xna = (XNASamplerStateCollection)Activator.CreateInstance(typeof(XNASamplerStateCollection), BindingFlags.NonPublic | BindingFlags.Instance, null, xnaParameters, CultureInfo.InvariantCulture); var anxParameters = new object[] { null, 8 }; anx = (SamplerStateCollection)Activator.CreateInstance(typeof(SamplerStateCollection), BindingFlags.NonPublic | BindingFlags.Instance, null, anxParameters, CultureInfo.InvariantCulture); } } }