public void ShouldDetermineFrontIfLeftIsOutsideLevel() { var inside = new SectorDescription(HeightLevel: 0); var outside = SectorDescription.OutsideLevel; var squareSegments = new SquareSegmentSectors(new[] { outside, // UpperLeftOuter = 0, outside, // UpperLeftInner = 1, inside, // UpperRightOuter = 2, inside, // UpperRightInner = 3, inside, // LowerRightOuter = 4, inside, // LowerRightInner = 5, outside, // LowerLeftOuter = 6, outside, // LowerLeftInner = 7, }); var edges = squareSegments.GetInternalEdges().ToDictionary(e => e.Id, e => e); edges.Keys.Should() .BeEquivalentTo(new[] { EdgeSegmentId.VerticalBottom, EdgeSegmentId.VerticalTop }); var top = edges[EdgeSegmentId.VerticalTop]; top.Left.Should().Be(SquarePoint.Center); top.Right.Should().Be(SquarePoint.TopMiddle); var bottom = edges[EdgeSegmentId.VerticalBottom]; bottom.Left.Should().Be(SquarePoint.BottomMiddle); bottom.Right.Should().Be(SquarePoint.Center); }
public void ShouldDetermineFrontIfTopIsOutsideLevel() { var inside = new SectorDescription(HeightLevel: 0); var outside = SectorDescription.OutsideLevel; var squareSegments = new SquareSegmentSectors(new[] { outside, // UpperLeftOuter = 0, outside, // UpperLeftInner = 1, outside, // UpperRightOuter = 2, outside, // UpperRightInner = 3, inside, // LowerRightOuter = 4, inside, // LowerRightInner = 5, inside, // LowerLeftOuter = 6, inside, // LowerLeftInner = 7, }); var edges = squareSegments.GetInternalEdges().ToDictionary(e => e.Id, e => e); edges.Keys.Should() .BeEquivalentTo(new[] { EdgeSegmentId.HorizontalLeft, EdgeSegmentId.HorizontalRight }); var left = edges[EdgeSegmentId.HorizontalLeft]; left.Left.Should().Be(SquarePoint.LeftMiddle); left.Right.Should().Be(SquarePoint.Center); var right = edges[EdgeSegmentId.HorizontalRight]; right.Left.Should().Be(SquarePoint.Center); right.Right.Should().Be(SquarePoint.RightMiddle); }
public void ShouldSortCorrectly() { var d1 = new SectorDescription(HeightLevel: 2); var d2 = new SectorDescription(HeightLevel: 3); d1.Should().BeLessThan(d2); d2.Should().BeGreaterThan(d1); }
public void ShouldConsiderTheOutSideToBeLarger() { var d = new SectorDescription(HeightLevel: 2); var outside = SectorDescription.OutsideLevel; d.Should().BeLessThan(outside); outside.Should().BeGreaterThan(d); }