public override void BuildCar()
 {
     Brakes       = new DiskBrakes();
     Engine       = new DieselEngine();
     Steering     = new PowerSteering();
     Transmission = new AutomaticTransmission();
     Wheels       = new AlloyWheels();
 }
        public static void A_PropertyOfGenericClassParameter()
        {
            var expectedTransmission           = new AutomaticTransmission();
            var sedanWithAutomaticTransmission = new Sedan <AutomaticTransmission>(200, expectedTransmission);

            sedanWithAutomaticTransmission.Transmission
            .Should()
            .Be(expectedTransmission);
        }
        public static void B_MethodWithGenericClassParameter()
        {
            var expectedTransmission           = new AutomaticTransmission();
            var sedanWithAutomaticTransmission = new Sedan <AutomaticTransmission>(200);

            sedanWithAutomaticTransmission.ChangeTransmission(expectedTransmission);

            sedanWithAutomaticTransmission.Transmission
            .Should()
            .Be(expectedTransmission);
        }