Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 /// <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;
 }