public void InstallWeaponInAnyCorrectShip_InstallWeaponInCorrectSlot_SuccessfullyInstalled()
        {
            using (var mock = AutoMock.GetLoose())
            {
                //Arrange

                //Act
                Dominix.InstallWeapon(_LargeCannonMock, 1);
                Dominix.InstallWeapon(_LargeLaserMock, 2);
                Dominix.InstallWeapon(_LargeMissileMock, 3);
                Dominix.InstallWeapon(_LargeProjectileMock, 4);
                Dominix.InstallWeapon(_LargeShockwaveMock, 5);

                Raven.InstallWeapon(_LargeCannonMock, 1);
                Raven.InstallWeapon(_LargeLaserMock, 2);
                Raven.InstallWeapon(_LargeMissileMock, 3);
                Raven.InstallWeapon(_LargeProjectileMock, 4);
                Raven.InstallWeapon(_LargeShockwaveMock, 5);

                Rokh.InstallWeapon(_LargeCannonMock, 1);
                Rokh.InstallWeapon(_LargeLaserMock, 2);
                Rokh.InstallWeapon(_LargeMissileMock, 3);
                Rokh.InstallWeapon(_LargeProjectileMock, 4);
                Rokh.InstallWeapon(_LargeShockwaveMock, 5);

                Scorpion.InstallWeapon(_LargeCannonMock, 1);
                Scorpion.InstallWeapon(_LargeLaserMock, 2);
                Scorpion.InstallWeapon(_LargeMissileMock, 3);
                Scorpion.InstallWeapon(_LargeProjectileMock, 4);
                Scorpion.InstallWeapon(_LargeShockwaveMock, 5);

                Widow.InstallWeapon(_LargeCannonMock, 1);
                Widow.InstallWeapon(_LargeLaserMock, 2);
                Widow.InstallWeapon(_LargeMissileMock, 3);
                Widow.InstallWeapon(_LargeProjectileMock, 4);
                Widow.InstallWeapon(_LargeShockwaveMock, 5);

                //weapon.VerifyAll();

                //Assert
                Assert.Contains(_LargeCannonMock, Dominix.Weapons);
                Assert.IsTrue(_LargeCannonMock.Equals(Dominix.Weapons[0]));
                Assert.Contains(_LargeLaserMock, Dominix.Weapons);
                Assert.IsTrue(_LargeLaserMock.Equals(Dominix.Weapons[1]));
                Assert.Contains(_LargeMissileMock, Dominix.Weapons);
                Assert.IsTrue(_LargeMissileMock.Equals(Dominix.Weapons[2]));
                Assert.Contains(_LargeProjectileMock, Dominix.Weapons);
                Assert.IsTrue(_LargeProjectileMock.Equals(Dominix.Weapons[3]));
                Assert.Contains(_LargeShockwaveMock, Dominix.Weapons);
                Assert.IsTrue(_LargeShockwaveMock.Equals(Dominix.Weapons[4]));

                Assert.Contains(_LargeCannonMock, Raven.Weapons);
                Assert.IsTrue(_LargeCannonMock.Equals(Raven.Weapons[0]));
                Assert.Contains(_LargeLaserMock, Raven.Weapons);
                Assert.IsTrue(_LargeLaserMock.Equals(Raven.Weapons[1]));
                Assert.Contains(_LargeMissileMock, Raven.Weapons);
                Assert.IsTrue(_LargeMissileMock.Equals(Raven.Weapons[2]));
                Assert.Contains(_LargeProjectileMock, Raven.Weapons);
                Assert.IsTrue(_LargeProjectileMock.Equals(Raven.Weapons[3]));
                Assert.Contains(_LargeShockwaveMock, Raven.Weapons);
                Assert.IsTrue(_LargeShockwaveMock.Equals(Raven.Weapons[4]));

                Assert.Contains(_LargeCannonMock, Rokh.Weapons);
                Assert.IsTrue(_LargeCannonMock.Equals(Rokh.Weapons[0]));
                Assert.Contains(_LargeLaserMock, Rokh.Weapons);
                Assert.IsTrue(_LargeLaserMock.Equals(Rokh.Weapons[1]));
                Assert.Contains(_LargeMissileMock, Rokh.Weapons);
                Assert.IsTrue(_LargeMissileMock.Equals(Rokh.Weapons[2]));
                Assert.Contains(_LargeProjectileMock, Rokh.Weapons);
                Assert.IsTrue(_LargeProjectileMock.Equals(Rokh.Weapons[3]));
                Assert.Contains(_LargeShockwaveMock, Rokh.Weapons);
                Assert.IsTrue(_LargeShockwaveMock.Equals(Rokh.Weapons[4]));

                Assert.Contains(_LargeCannonMock, Scorpion.Weapons);
                Assert.IsTrue(_LargeCannonMock.Equals(Scorpion.Weapons[0]));
                Assert.Contains(_LargeLaserMock, Scorpion.Weapons);
                Assert.IsTrue(_LargeLaserMock.Equals(Scorpion.Weapons[1]));
                Assert.Contains(_LargeMissileMock, Scorpion.Weapons);
                Assert.IsTrue(_LargeMissileMock.Equals(Scorpion.Weapons[2]));
                Assert.Contains(_LargeProjectileMock, Scorpion.Weapons);
                Assert.IsTrue(_LargeProjectileMock.Equals(Scorpion.Weapons[3]));
                Assert.Contains(_LargeShockwaveMock, Scorpion.Weapons);
                Assert.IsTrue(_LargeShockwaveMock.Equals(Scorpion.Weapons[4]));

                Assert.Contains(_LargeCannonMock, Widow.Weapons);
                Assert.IsTrue(_LargeCannonMock.Equals(Widow.Weapons[0]));
                Assert.Contains(_LargeLaserMock, Widow.Weapons);
                Assert.IsTrue(_LargeLaserMock.Equals(Widow.Weapons[1]));
                Assert.Contains(_LargeMissileMock, Widow.Weapons);
                Assert.IsTrue(_LargeMissileMock.Equals(Widow.Weapons[2]));
                Assert.Contains(_LargeProjectileMock, Widow.Weapons);
                Assert.IsTrue(_LargeProjectileMock.Equals(Widow.Weapons[3]));
                Assert.Contains(_LargeShockwaveMock, Widow.Weapons);
                Assert.IsTrue(_LargeShockwaveMock.Equals(Widow.Weapons[4]));
            }
        }