public void Skewb_RotateOnce_HasValidFaces(string axisId, bool isClockwise) { // 1. Prepare SkewbCube c = new SkewbCube(); var axis = c.GetAxis(axisId); // 2. Execute c.RotateAround(axis, isClockwise); // 3. Verify foreach (CoreFace face in c.Faces) { Assert.Equal(5, c.GetBlocksForFace(face.Id).Count()); } RotationCoreAssert.ExposeAllFaces(c); }
public void Skewb_Rotate_CenterStayInPlace(string axisId) { // 1. Prepare SkewbCube c = new SkewbCube(); var axis = c.GetAxis(axisId); var center = c.Blocks.Where(b => b.Position.IsSameVector(axis.Vector)).First(); var initialPosition = center.Position; // 2. Execute c.RotateAround(axis, true); // 3. Verify Assert.Equal(initialPosition.X, center.Position.X, PRECISION_DOUBLE); Assert.Equal(initialPosition.Y, center.Position.Y, PRECISION_DOUBLE); Assert.Equal(initialPosition.Z, center.Position.Z, PRECISION_DOUBLE); }