public void compare_angles() { LocationComparerByAngle comp = new LocationComparerByAngle(); comp.compare_with = new Location(0, 0); Location quadrant1 = new Location(5, 5); Location quadrant2 = new Location(-5, 5); Location quadrant3 = new Location(-5, -5); Location quadrant4 = new Location(5, -5); Specify.That(comp.Compare(quadrant1, quadrant2)).ShouldEqual(-1); Specify.That(comp.Compare(quadrant1, quadrant4)).ShouldEqual(-1); Specify.That(comp.Compare(quadrant2, quadrant2)).ShouldEqual(0); Specify.That(comp.Compare(quadrant4, quadrant3)).ShouldEqual(1); Specify.That(comp.Compare(quadrant4, quadrant1)).ShouldEqual(1); comp.compare_clockwise = true; Specify.That(comp.Compare(quadrant1, quadrant2)).ShouldEqual(1); Specify.That(comp.Compare(quadrant1, quadrant4)).ShouldEqual(1); Specify.That(comp.Compare(quadrant2, quadrant2)).ShouldEqual(0); Specify.That(comp.Compare(quadrant4, quadrant3)).ShouldEqual(-1); Specify.That(comp.Compare(quadrant4, quadrant1)).ShouldEqual(-1); }
public void location_list_sort_works_properly() { List<Location> l = new List<Location>(); for (int i = 0; i < 10; ++i) l.Add(new Location(4 - i, 10)); LocationComparerByAngle comparer = new LocationComparerByAngle(); comparer.compare_clockwise = true; comparer.compare_with = new Location(0,0); l.Sort(comparer); for (int i = 0; i < 10; ++i) Specify.That(l[i].x).ShouldEqual(-5 + i); }
public void setting_compare_with_in_LocationComparerByAngle() { Location loc = new Location(0, 0); LocationComparerByAngle lcba = new LocationComparerByAngle(); lcba.compare_with = loc; Specify.That(lcba.compare_with.Equals(loc)).ShouldBeTrue(); }
public void setting_compare_clockwise_in_LocationComparerByAngle() { LocationComparerByAngle lcba = new LocationComparerByAngle(); lcba.compare_clockwise = true; Specify.That(lcba.compare_clockwise).ShouldBeTrue(); lcba.compare_clockwise = false; Specify.That(lcba.compare_clockwise).ShouldBeFalse(); }