public void Skewb_Create_HasValidFaces() { // 1. Prepare // 2. Execute SkewbCube c = new SkewbCube(); // 3. Verify foreach (CoreFace face in c.Faces) { Assert.Equal(5, c.GetBlocksForFace(face.Id).Count()); } RotationCoreAssert.ExposeAllFaces(c); }
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); }
/// <summary> /// Create a new SkewbTextPresenter that will present the provided cube to the Console. /// </summary> /// <param name="cube">Cube that will be displayed in the Console.</param> public SkewbTextPresenter(SkewbCube cube) { this.Cube = cube; }