public void Constructor_Fighter_Returns_Fighter()
        {
            // arrange
            var mockVehicle = new Mock <IVehicle>();

            mockVehicle.Setup(vehicle => vehicle.Class).Returns(EVehicleClass.Fighter);

            var vehicleTags = new VehicleTagsDeserializedFromJson
            {
                IsFighter = true,
            };
            var subclasses = new List <EVehicleSubclass> {
                EVehicleSubclass.Fighter
            };
            var subclass = new VehicleSubclasses(Presets.MockDataRepository.Object, mockVehicle.Object, vehicleTags);

            // act
            var allSubclasses = subclass.All;

            // assert
            allSubclasses.Should().BeEquivalentTo(subclasses);
        }
        public void Constructor_Td_Atgm_Returns_Atgm()
        {
            // arrange
            var mockVehicle = new Mock <IVehicle>();

            mockVehicle.Setup(vehicle => vehicle.GaijinId).Returns(nameof(mockVehicle));
            mockVehicle.Setup(vehicle => vehicle.Class).Returns(EVehicleClass.TankDestroyer);

            var vehicleTags = new VehicleTagsDeserializedFromJson
            {
                IsTankDestroyer = true,
                IsAtgmCarrier   = true,
            };
            var subclasses = new List <EVehicleSubclass> {
                EVehicleSubclass.AntiTankMissileCarrier
            };
            var subclass = new VehicleSubclasses(Presets.MockDataRepository.Object, mockVehicle.Object, vehicleTags);

            // act
            var allSubclasses = subclass.All;

            // assert
            allSubclasses.Should().BeEquivalentTo(subclasses);
        }
        public void Constructor_Frigate_Gunboat_Returns_Gunboat()
        {
            // arrange
            var mockVehicle = new Mock <IVehicle>();

            mockVehicle.Setup(vehicle => vehicle.GaijinId).Returns(nameof(mockVehicle));
            mockVehicle.Setup(vehicle => vehicle.Class).Returns(EVehicleClass.Frigate);

            var vehicleTags = new VehicleTagsDeserializedFromJson
            {
                IsFrigate      = true,
                IsHeavyGunBoat = true,
            };
            var subclasses = new List <EVehicleSubclass> {
                EVehicleSubclass.HeavyGunboat
            };
            var subclass = new VehicleSubclasses(Presets.MockDataRepository.Object, mockVehicle.Object, vehicleTags);

            // act
            var allSubclasses = subclass.All;

            // assert
            allSubclasses.Should().BeEquivalentTo(subclasses);
        }
        public void Constructor_Barge_Ferry_Returns_Ferry()
        {
            // arrange
            var mockVehicle = new Mock <IVehicle>();

            mockVehicle.Setup(vehicle => vehicle.GaijinId).Returns(nameof(mockVehicle));
            mockVehicle.Setup(vehicle => vehicle.Class).Returns(EVehicleClass.Barge);

            var vehicleTags = new VehicleTagsDeserializedFromJson
            {
                IsBarge = true,
                IsFerry = true,
            };
            var subclasses = new List <EVehicleSubclass> {
                EVehicleSubclass.NavalFerryBarge
            };
            var subclass = new VehicleSubclasses(Presets.MockDataRepository.Object, mockVehicle.Object, vehicleTags);

            // act
            var allSubclasses = subclass.All;

            // assert
            allSubclasses.Should().BeEquivalentTo(subclasses);
        }
        public void Constructor_Attacker_StrikeAircraft_Returns_StrikeAircraft()
        {
            // arrange
            var mockVehicle = new Mock <IVehicle>();

            mockVehicle.Setup(vehicle => vehicle.GaijinId).Returns(nameof(mockVehicle));
            mockVehicle.Setup(vehicle => vehicle.Class).Returns(EVehicleClass.Attacker);

            var vehicleTags = new VehicleTagsDeserializedFromJson
            {
                IsAttacker       = true,
                IsStrikeAircraft = true,
            };
            var subclasses = new List <EVehicleSubclass> {
                EVehicleSubclass.StrikeAircraft
            };
            var subclass = new VehicleSubclasses(Presets.MockDataRepository.Object, mockVehicle.Object, vehicleTags);

            // act
            var allSubclasses = subclass.All;

            // assert
            allSubclasses.Should().BeEquivalentTo(subclasses);
        }