using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnitTestSharp; using Azimuth; using Annulus; using Annulus.DeprecatedShapes; namespace Annulus.UnitTests.DeprecatedShapes { class CircleTests : TestFixture { public void ProjectToNormal_0Rad() { Interval expected = new Interval(0); CheckEqual(expected, (new Circle(0)).ProjectToNormal(new Vector(10, -10))); } public void ProjectToNormal() { Interval expected = new Interval(-10, 10); CheckEqual(expected, (new Circle(10)).ProjectToNormal(Vector.UnitX)); } public void ProjectToNormal_NonUnitLengthNormal() { Interval expected = new Interval(10, -10); CheckEqual(expected, (new Circle(10)).ProjectToNormal(new Vector(Math.Sqrt(2), -Math.Sqrt(2)))); } public void MostExtremePoint_0() { Circle circle = new Circle(0); Scalar extremeness; Vector actual; circle.FindMostExtremePointAlongNormal(Vector.UnitX, out extremeness, out actual); CheckEqual(Vector.Zero, actual); } public void MostExtremePoint() { Circle circle = new Circle(10); Scalar extremeness; Vector actual; circle.FindMostExtremePointAlongNormal(Vector.UnitX, out extremeness, out actual); CheckEqual(Vector.UnitX * circle.Radius, actual); } public void MostExtremePoint_NonUnitLengthNormal() { Circle circle = new Circle(10); Scalar extremeness; Vector actual; circle.FindMostExtremePointAlongNormal(Vector.UnitX * 10, out extremeness, out actual); CheckEqual((Vector.UnitX * 10) * 10, actual); } public void CenterOfMass() { CheckEqual(Vector.Zero, (new Circle(10)).Centroid); } public void Radius_0() { Circle circle = new Circle(0); CheckEqual(0, circle.Radius); } public void Radius_NonZero() { Circle circle = new Circle(10); CheckEqual(10, circle.Radius); } public void Area_0() { Circle circle = new Circle(0); CheckEqual(0, circle.Area); } public void Area_NonZero() { Circle circle = new Circle(10); CheckEqual(Math.PI * 100, circle.Area); } public void Perimeter_0() { Circle circle = new Circle(0); CheckEqual(0, circle.Perimeter); } public void Perimeter_NonZero() { Circle circle = new Circle(10); CheckEqual(20 * Math.PI, circle.Perimeter); } public void BoundingCircle() { Circle circle = new Circle(10); CheckEqual(circle, circle.BoundingCircle); } public void Clone() { Circle circle = new Circle(10); CheckEqual(circle.Radius, circle.Clone().Radius); } } }