示例#1
0
        public void BigMarioStarBottomSideCollisionTest()
        {
            WorldManager.LoadListFromFile("World1-1", game);
            MarioInstance testMario     = new MarioInstance(game);
            MarioInstance expectedMario = new MarioInstance(game);

            testMario.Flower();
            expectedMario.Flower();
            expectedMario.Star();

            Star testStar     = new Star(game);
            Star expectedStar = new Star(game);

            expectedStar.Disappear();

            ICollisionSide            side             = new BottomSideCollision();
            CollisionData             collision        = new CollisionData(testMario, testStar, side);
            MarioItemCollisionHandler collisionHandler = new MarioItemCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is FireRightIdleState;
            bool    expectedState    = expectedMario.MarioState is FireRightIdleState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void SmallMarioKoopaBottomSideCollisionTest()
        {
            IMario testMario = new MarioInstance(game);

            testMario.VectorCoordinates = new Vector2(0, 19);
            IMario expectedMario = new MarioInstance(game);

            expectedMario.VectorCoordinates = new Vector2(0, 21);
            expectedMario.Damage();

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is DeadMarioState;
            bool    expectedState    = expectedMario.MarioState is DeadMarioState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void BigMarioRedMushroomBottomSideCollisionTest()
        {
            MarioInstance testMario     = new MarioInstance(game);
            MarioInstance expectedMario = new MarioInstance(game);

            expectedMario.Mushroom();
            testMario.Mushroom();

            RedMushroom testRedMushroom     = new RedMushroom(game);
            RedMushroom expectedRedMushroom = new RedMushroom(game);

            expectedRedMushroom.Disappear();

            ICollisionSide            side             = new BottomSideCollision();
            CollisionData             collision        = new CollisionData(testMario, testRedMushroom, side);
            MarioItemCollisionHandler collisionHandler = new MarioItemCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is NormalRightIdleState;
            bool    expectedState    = expectedMario.MarioState is NormalRightIdleState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void StarSmallMarioKoopaCollisionBottomTest()
        {
            WorldManager.LoadListFromFile("World1-1", game);
            IMario testMario = WorldManager.GetMario();

            testMario.Star();
            testMario = WorldManager.GetMario();
            testMario.VectorCoordinates = new Vector2(0, 19);

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            testGreenKoopa.VectorCoordinates = new Vector2(0, 0);
            GreenKoopa expectedGreenKoopa = new GreenKoopa(game);

            expectedGreenKoopa.Flipped();

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testGreenKoopa.state is GreenKoopaFlippedInShellState;
            bool    expectedState    = expectedGreenKoopa.state is GreenKoopaFlippedInShellState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = new Vector2(0, 21);

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void BigMarioHiddenBlockBottomSideCollisionTest()
        {
            MarioInstance testMario     = new MarioInstance(game);
            MarioInstance expectedMario = new MarioInstance(game);

            expectedMario.VectorCoordinates = new Vector2(0, 15);
            Block testBlock     = new Block(Block.Type.HiddenBlock, game);
            Block expectedBlock = new Block(Block.Type.HiddenBlock, game);

            expectedBlock.GetUsed();

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testBlock, side);
            MarioBlockCollisionHandler collisionHandler = new MarioBlockCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is NormalRightIdleState;
            bool    expectedState    = expectedMario.MarioState is NormalRightIdleState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void FireMarioCoinBottomSideCollisionTest()
        {
            MarioInstance testMario     = new MarioInstance(game);
            MarioInstance expectedMario = new MarioInstance(game);

            testMario.Flower();
            expectedMario.Flower();

            Coin testCoin     = new Coin(game);
            Coin expectedCoin = new Coin(game);

            expectedCoin.Disappear();

            ICollisionSide            side             = new BottomSideCollision();
            CollisionData             collision        = new CollisionData(testMario, testCoin, side);
            MarioItemCollisionHandler collisionHandler = new MarioItemCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool testState     = testMario.MarioState is FireRightIdleState;
            bool expectedState = expectedMario.MarioState is FireRightIdleState;

            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void FireMarioGoombaBottomSideCollisionTest()
        {
            IMario testMario = new MarioInstance(game);

            testMario.VectorCoordinates = new Vector2(0, 14);
            IMario expectedMario = new MarioInstance(game);

            expectedMario.VectorCoordinates = new Vector2(0, 16);

            testMario.MarioState     = new FireRightIdleState(testMario);
            expectedMario.MarioState = new FireRightIdleState(expectedMario);

            expectedMario.Damage();

            Goomba testGoomba = new Goomba(game);

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGoomba, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is NormalRightIdleState;
            bool    expectedState    = expectedMario.MarioState is NormalRightIdleState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void StarFireMarioGoombaBottomCollisionTest()
        {
            WorldManager.LoadListFromFile("World1-1", game);
            IMario testMario = WorldManager.GetMario();

            testMario.Flower();
            testMario.Star();
            testMario = WorldManager.GetMario();
            testMario.VectorCoordinates = new Vector2(0, 14);

            Goomba testGoomba = new Goomba(game);

            testGoomba.VectorCoordinates = new Vector2(0, 0);
            Goomba expectedGoomba = new Goomba(game);

            expectedGoomba.Flipped();

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGoomba, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testGoomba.state is GoombaFlippedState;
            bool    expectedState    = expectedGoomba.state is GoombaFlippedState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = new Vector2(0, 16);

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }