示例#1
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);
        }
示例#2
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);
        }