public void Test1(string input, int expectedCount, int expectedOverlap) { var vents = (from ventString in input.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries) select Vent.Parse(ventString, provider: default) ).ToList(); Assert.Equal(expectedCount, vents.Count); Assert.DoesNotContain(default, vents);
public void GivenCoordinatesThenItParsesCorrectly() { const string input = "0,2 -> 1,3"; var vent = Vent.Parse(input); Assert.Equal(0, vent.Start.X); Assert.Equal(2, vent.Start.Y); Assert.Equal(1, vent.End.X); Assert.Equal(3, vent.End.Y); }
public void GetAllPointsForVentBackwards() { const string input = "0,4 -> 0,2"; var vent = Vent.Parse(input); var points = vent.GetPointsAffected2(); Assert.Contains(new Coords(0, 2), points); Assert.Contains(new Coords(0, 3), points); Assert.Contains(new Coords(0, 4), points); }
public void GetAllPointsForVentDiagonal() { const string input = "9,7 -> 7,9"; var vent = Vent.Parse(input); var points = vent.GetPointsAffected2(); Assert.Contains(new Coords(0, 2), points); Assert.Contains(new Coords(0, 3), points); Assert.Contains(new Coords(0, 4), points); }
public void GivenDiagonalLineThenIsValidIsFalse(string input) { var vent = Vent.Parse(input); Assert.False(vent.IsValid()); }
public void GivenHorizontalOrVerticalPipeThenIsValidIsTrue(string input) { var vent = Vent.Parse(input); Assert.True(vent.IsValid()); }