using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnitTestSharp; using Lodestone; using Microsoft.Xna.Framework; namespace Lodestone.UnitTests { class CircleTests : TestFixture { Circle circle; Vector2 vector; public override void TestSetup() { circle = new Circle(0); vector = new Vector2(); } public void testProjectToNormal() { Interval expected = new Interval(0); CheckEqual(expected, circle.ProjectToNormal(vector)); vector = new Vector2((float)10.9, (float)-8); expected = new Interval(0); CheckEqual(expected, circle.ProjectToNormal(vector)); circle = new Circle(10); expected = new Interval(-10, 10); CheckEqual(expected, circle.ProjectToNormal(vector)); } public void TestCenterOfMass() { CheckEqual(vector, circle.CenterOfMass); } public void TestArea() { CheckEqual((Scalar)0, circle.Radius); CheckEqual((Scalar)0, circle.Area); circle = new Circle(1); CheckEqual((Scalar)1, circle.Radius); CheckEqual((Scalar)Math.PI, circle.Area); } public void TestPerimeter() { CheckEqual((Scalar)0, circle.Radius); CheckEqual((Scalar)0, circle.Perimeter); circle = new Circle(1); CheckEqual((Scalar)1, circle.Radius); CheckEqual((Scalar)(2*Math.PI), circle.Perimeter); } public void TestBoundingCircle() { CheckEqual(circle, circle.BoundingCircle); } public void TestClone() { CheckEqual(circle.Radius, ((Circle)circle.Clone()).Radius); } } }