static void Main(string[] args) { int a, b, c = 0; ITriangleValidator validator = new TriangleValidator(); ITriangleDeterminator service = new TriangleDeterminatorService(validator); Console.WriteLine("Guess the triangle"); Console.WriteLine("=================="); Console.Write("Enter length of Side 1 :"); a = GetInt(); Console.Write("Enter length of Side 2 :"); b = GetInt(); Console.Write("Enter length of Side 3 :"); c = GetInt(); Console.WriteLine(); if (!validator.IsValid(a, b, c)) { Console.WriteLine("Sorry, this is not a valid triangle."); } else { Console.WriteLine($"Your triangle is a {service.Determine(a, b, c)} triangle."); } Console.WriteLine("Press a key to exit."); Console.ReadKey(); }
public string[] Get(string vertex1, string vertex2, string vertex3) { List <Point> points = new List <Point>(); Point point1 = ParsePoint(vertex1); Point point2 = ParsePoint(vertex2); Point point3 = ParsePoint(vertex3); points.Add(point1); points.Add(point2); points.Add(point3); TriangleValidator validator = new TriangleValidator(point1, point2, point3); if (!validator.IsValid()) { return(new string[] { "INVALID COORDINATES" }); } string row = ROWS[GetMin_Y(points) / 10]; int col = -1; if (IsTheTriangleInEvenNumberPosition(points, GetMax_X(points))) { col = GetMax_X(points) * 2 / 10; } else { col = (GetMin_X(points) * 2 / 10) + 1; } return(new string[] { row + col }); }
public void Day3_Part2() { var input = Utils.ReadLines("day3_data.txt"); var validator = new TriangleValidator(); Assert.That(validator.NumberOfValidTrianglesInColumns(input), Is.EqualTo(1544)); }
public Startup() { _loggre = LogManager.GetCurrentClassLogger(); ValidatorToSide = new DefaultValidatorBuilder().Create(); TransformatorToSide = new DefaultTransformatorBuilder().Create(); ValidatorToTriangle = new TriangleValidator(); }
public void IsTriangleValid_Pass() { var triangleValidator = new TriangleValidator(); var status = triangleValidator.IsTriangleValid(probableTriangles["Equilateral"]); Assert.True(status); }
public void IsTriangleValid_Fail() { var triangleValidator = new TriangleValidator(); var status = triangleValidator.IsTriangleValid(probableTriangles["NotATriangle"]); Assert.False(status); }
public static IShapeService GetShapeService() { IShapeValidator typeValidator = new TriangleValidator(); IShapeFactory shapeFactory = new TriangleFactory(typeValidator); // Compose shape factory IShapeFactory UnknownShapeFacotry = new UnknownShapeFactory(); var genericShapeValidator = new GenericShapeValidator(); return(new ShapeService(shapeFactory, UnknownShapeFacotry, genericShapeValidator)); // Compose shape service }
public void ValidateTriangle_WrongTriangle_Test() { const double firstSide = 1.0; const double secondSide = 2.0; const double thirdSide = 4.0; var actual = TriangleValidator.Validate(firstSide, secondSide, thirdSide); Assert.IsFalse(actual); }
public void Test_ValidatorInvalidTriangle4_Ok() { //given ITriangleValidator validator = new TriangleValidator(); //when bool isValid = validator.IsValid(-4, -4, -4); //then Assert.False(isValid); }
public void ValidateTriangle_CorrectTriangle_Test() { const double firstEdge = 1.0; const double secondEdge = 2.0; var setOfThirdEdges = new List <double> { 1.0, 2.0, 3.0 }; var actual = setOfThirdEdges.All(x => TriangleValidator.Validate(firstEdge, secondEdge, x)); Assert.IsTrue(actual); }
public double?Calculate() { var result = new TriangleValidator().Validate(_triangle); if (!result.IsValid) { return(default(double?)); } var halfPerimeter = (_triangle.SideA + _triangle.SideB + _triangle.SideC) / 2F; return(Math.Sqrt(halfPerimeter * (halfPerimeter - _triangle.SideA) * (halfPerimeter - _triangle.SideB) * (halfPerimeter - _triangle.SideC))); }
protected override int Part2(string[] input) { var tv1 = new TriangleValidator(); var tv2 = new TriangleValidator(); var tv3 = new TriangleValidator(); foreach (var line in input) { var side = line.ToIntArray(); tv1.AddSide(side[0]); tv2.AddSide(side[1]); tv3.AddSide(side[2]); } var valid = tv1.Count + tv2.Count + tv3.Count; return(valid); }
public bool?IsRightTriangle() { var result = new TriangleValidator().Validate(_triangle); if (!result.IsValid) { return(default(bool?)); } var hypOppositeAngle = MathConvert.ToDegrees( Math.Acos( MathConvert.ToRadians( (Math.Pow(_triangle.SideA, 2) + Math.Pow(_triangle.SideB, 2) - Math.Pow(_triangle.SideC, 2)) / 2F * _triangle.SideA * _triangle.SideB ) ) ); return(Math.Abs(hypOppositeAngle - 90F) <= MathConvert.Precision); }
public void TriangleValidationDoesAllowHypotenusTopRightToBottomLeft(int point1_X, int point1_y, int point2_X, int point2_y, int point3_X, int point3_y) { TriangleValidator triangleValidator = new TriangleValidator(new Point(point1_X, point1_y), new Point(point2_X, point2_y), new Point(point3_X, point3_y)); Assert.IsTrue(triangleValidator.IsValid(), "Invalid Triangle coordinates right angle is only allowed bottom left or top right"); }
public void TriangleValidationDoesAllowTrianglesOutOfTheAllowedGridBottomRight(int point1_X, int point1_y, int point2_X, int point2_y, int point3_X, int point3_y) { TriangleValidator triangleValidator = new TriangleValidator(new Point(point1_X, point1_y), new Point(point2_X, point2_y), new Point(point3_X, point3_y)); Assert.IsFalse(triangleValidator.IsValid(), "Triangle is out of bounds"); }
public void TriangleRightSidesAreOfLength10() { TriangleValidator triangleValidator = new TriangleValidator(new Point(20, 20), new Point(20, 30), new Point(30, 30)); Assert.IsTrue(triangleValidator.IsValid(), "Triangle vertices are not located on 10x10 grid"); }
public void TriangleValidationDoesNotAllowRightSidesAreNotOfLength10(int point1_X, int point1_y, int point2_X, int point2_y, int point3_X, int point3_y) { TriangleValidator triangleValidator = new TriangleValidator(new Point(point1_X, point1_y), new Point(point2_X, point2_y), new Point(point3_X, point3_y)); Assert.IsFalse(triangleValidator.IsValid(), "Triangle vertices do not have sides length 10"); }
public void TriangleVerticesAre10PixelsApartPerAxis() { TriangleValidator triangleValidator = new TriangleValidator(new Point(0, 0), new Point(0, 10), new Point(10, 10)); Assert.IsTrue(triangleValidator.IsValid(), "Triangle vertices are not located on 10x10 grid"); }
public void TriangleVerticesAreNotValidWhenTheyAreNot10PixelsApartPerAxis() { TriangleValidator triangleValidator = new TriangleValidator(new Point(1, 0), new Point(0, 0), new Point(10, 0)); Assert.IsFalse(triangleValidator.IsValid(), "Triangle vertices are not located on 10x10 grid"); }
public void SetUp() { _validator = new TriangleValidator(); }
public void TriangleValidator_Invalid_2() { Assert.AreEqual(false, TriangleValidator.IsValid(10, 25, 5)); }
public void Should_CheckIfSumOfAnyTwoEdgesIsGreaterThanTheRemainingEdge(int one, int two, int three, bool expected) { bool result = TriangleValidator.Validate(one, two, three); Assert.Equal(expected, result); }
private static Triangle CreateTriangle(double firstEdge, double secondEdge, double thirdEdge) { return(TriangleValidator.Validate(firstEdge, secondEdge, thirdEdge) ? new Triangle(firstEdge, secondEdge, thirdEdge) : null); }
public void TriangleValidator_Valid_2() { Assert.AreEqual(true, TriangleValidator.IsValid(5, 4, 3)); }
public void TriangleValidator_Valid_1() { Assert.AreEqual(true, TriangleValidator.IsValid(3, 4, 5)); }
public void OneTimeSetUp() { _triangleValidator = new TriangleValidator(); }
[DataRow(50, 50, 50, 60, 60, 60)] //F11 public void TriangleValidationDoesAllowTrianglesOnTheInsideEdgeOfTheGrid(int point1_X, int point1_y, int point2_X, int point2_y, int point3_X, int point3_y) { TriangleValidator triangleValidator = new TriangleValidator(new Point(point1_X, point1_y), new Point(point2_X, point2_y), new Point(point3_X, point3_y)); Assert.IsTrue(triangleValidator.IsValid(), "Triangle is out of bounds"); }
public void IsTriangleExists_WithTriangleSides_ShouldReturnDoesntExists(double firstSide, double secondSide, double thirdSide) { Assert.False(TriangleValidator.IsTriangleExists(firstSide, secondSide, thirdSide)); }
public void TriangleValidator_Invalid_3() { Assert.AreEqual(false, TriangleValidator.IsValid(25, 5, 10)); }
public void TriangleValidator_Valid_3() { Assert.AreEqual(true, TriangleValidator.IsValid(4, 5, 3)); }