public void ReturnsNoIntersectionForFullyContainedRectangles() { //Arrange RectangleF rec1 = new RectangleF(1, 1, 1, 1); RectangleF rec2 = new RectangleF(0, 0, 10, 10); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Intersection(); //Assert Assert.IsFalse(result.IntersectionPresent); }
public void ReturnsNoAdjacencyForRectanglesThatShareSideEdgeButNotTopEdge() { //Arrange RectangleF rec1 = new RectangleF(1, 0, 1, 1); RectangleF rec2 = new RectangleF(0, 99, 1, 1); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Adjacency(); //Assert Assert.IsFalse(result.AdjacencyPresent); }
public void ReturnsFiveOutcomesForDifferentValueRectangles() { //Arrange RectangleF rec1 = new RectangleF(0, 1, 10, 10); RectangleF rec2 = new RectangleF(0, 0, 10, 10); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.GetAnalysis(); //Assert Assert.AreEqual(5, result.GetSummary().Count()); }
public void ReturnsSimilarityForRectanglesWithEqualOppositeRatioOnWidthAndHeight() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 2, 4); RectangleF rec2 = new RectangleF(0, 0, 8, 4); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Similarity(); //Assert Assert.IsTrue(result.SimilarityPresent); }
public void ReturnsCongruencyForCongruentRectanglesWithOppositeWidthAndHeight() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 4, 2); RectangleF rec2 = new RectangleF(0, 0, 2, 4); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Congruence(); //Assert Assert.IsTrue(result.CongruencePresent); }
public void ReturnsNoSimilarityForNonSimilarRectangles() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 2, 2); RectangleF rec2 = new RectangleF(0, 2, 2, 3); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Similarity(); //Assert Assert.IsFalse(result.SimilarityPresent); }
public void ReturnsNoCongruencyForNonCongruentRectangles() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 2, 2); RectangleF rec2 = new RectangleF(0, 2, 2, 3); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Congruence(); //Assert Assert.IsFalse(result.CongruencePresent); }
public void ReturnsNoIntersectionForNonOverlappingRectangles() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 10, 10); RectangleF rec2 = new RectangleF(11, 0, 10, 10); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Intersection(); //Assert Assert.IsFalse(result.IntersectionPresent); }
public void ReturnsNoAdjacencyForInvertedRectanglesNotAdjacentToEachOther() { //Arrange RectangleF rec1 = new RectangleF(0, 3, 2, 2); RectangleF rec2 = new RectangleF(2, 0, 2, 2); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Adjacency(); //Assert Assert.IsFalse(result.AdjacencyPresent); }
public void ReturnsAdjacencyForRectanglesAdjacentWithWholeSegmentOnTheTop() { //Arrange RectangleF rec1 = new RectangleF(4, 0, 3, 2); RectangleF rec2 = new RectangleF(4, 2, 3, 3); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Adjacency(); //Assert Assert.IsTrue(result.AdjacencyPresent); }
public void ReturnsAdjacencyForInvertedRectanglesAdjacentWithPartialSegmentOnTheSide() { //Arrange RectangleF rec1 = new RectangleF(7, 3, 1, 1); RectangleF rec2 = new RectangleF(4, 2, 3, 3); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Adjacency(); //Assert Assert.IsTrue(result.AdjacencyPresent); }
public void ReturnsOnlyEquivalencyForEqualValueRectangles() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 10, 10); RectangleF rec2 = new RectangleF(0, 0, 10, 10); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.GetAnalysis(); //Assert Assert.AreEqual("Rectangles are equivalent", result.GetSummary().Single()); }
public void ReturnsNoContainmentForRectanglesNotContainedWithinEachOther() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 10, 10); RectangleF rec2 = new RectangleF(1, 0, 10, 10); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Containment(); //Assert Assert.IsFalse(result.ContainmentPresent); }
private IntersectionAnalysis SetUp(float x1, float y1, float width1, float height1, float x2, float y2, float width2, float height2) { //Arrange RectangleF rec1 = new RectangleF(x1, y1, width1, height1); RectangleF rec2 = new RectangleF(x2, y2, width2, height2); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Intersection(); return(result); //Assert //Assert.IsTrue(result.IntersectionPresent); }
public void ReturnsContainmentForRectangle2ContainedWithinRectangle1() { //Arrange RectangleF rec1 = new RectangleF(0, 0, 10, 10); RectangleF rec2 = new RectangleF(1, 1, 1, 1); var processor = new RectangleProcessor(rec1, rec2); //Act var result = processor.Containment(); //Assert Assert.IsTrue(result.ContainmentPresent); Assert.IsTrue(result.Rectangle1ContainsRectangle2); }
public ActionResult GetRectangleAnalysis(RectanglesFormViewModel model) { if (ModelState.IsValid) { var rectangle1 = new RectangleF(model.Rectangle1.X, model.Rectangle1.Y, model.Rectangle1.Width, model.Rectangle1.Height); var rectangle2 = new RectangleF(model.Rectangle2.X, model.Rectangle2.Y, model.Rectangle2.Width, model.Rectangle2.Height); var rectangleProcessor = new RectangleProcessor(rectangle1, rectangle2); return(PartialView(rectangleProcessor.GetAnalysis().GetSummary())); } else { return(new HttpStatusCodeResult(400)); } }
public void RectangleBOMBuilderTest() { // Arrange Rectangle rectangle = new Rectangle() { PositionX = 20, PositionY = 30, Width = 40, Height = 50 }; string expectedBOM = "Rectangle(20,30) width=40 height=50"; RectangleProcessor processor = new RectangleProcessor(); // Act string returnedBOM = processor.BOMBuilder(rectangle); // Assert Assert.AreEqual(expectedBOM, returnedBOM); }