public void GridSubValueComputesDistance([Values(1, 2, 3, 4, 5, 6, 7, 8, 9)] int x, [Values(1, 2, 3, 4, 5, 6, 7, 8, 9)] int y) { var a = new GridPoint(2, 4, 1); var b = new GridPoint(x, y, 2); new GridSubValue(a, b).DistanceValue.Should().Be(SquareDistance.FromPoints(a, b)); }
public int Evaluate() { int total = 0; foreach (var gridPoint in simpleGridIterator) { foreach (var secondGridPoint in GridIteratorStrictlyAfter(gridPoint)) { total += GCD.Of(gridPoint.Number, secondGridPoint.Number) * SquareDistance.FromPoints(gridPoint, secondGridPoint); } } return(total); }