public void Distances_OnACube_ShouldCreateSixListsOfFourElements (IPolyhedron polyhedron) { // Fixture setup var expected = Enumerable.Repeat(4, 6).ToList(); // Exercise system var distances = FaceIndexedTableFactory.Distances(polyhedron); var actual = distances.Select(list => list.Count()).ToList(); // Verify outcome TestUtilities.WriteExpectedAndActual(expected, actual); Assert.True(TestUtilities.UnorderedEquals(expected, actual)); // Teardown }
public void Distances_OnACube_ShouldCalculateTheCorrectDistances (IPolyhedron polyhedron) { // Fixture setup var correctDistance = Math.Sqrt(3) * Math.PI / 2; var expected = Enumerable.Repeat(correctDistance, 24).ToList(); // Exercise system var distances = FaceIndexedTableFactory.Distances(polyhedron); var actual = distances.SelectMany(list => list).ToList(); // Verify outcome TestUtilities.WriteExpectedAndActual(expected, actual); Assert.True(TestUtilities.UnorderedEquals(expected, actual, TestUtilities.RelativeAccuracy)); // Teardown }