Exemplo n.º 1
0
    public static void Main(string[] args)
    {
        IVehicle vehicle1 = new Car();

        DriveVechicle(vehicle1);
        IVehicle vehicle2 = new Airplane();

        DriveVechicle(vehicle2);
        IVehicle vehicle3 = new MultiFunctionalCar();

        DriveVechicle(vehicle3);
    }
        public void MultifuntionalVehicle()
        {
            //Arrange
            var car      = new Car();
            var airplane = new Airplane();

            //Act
            var multiVehicle = new MultiFunctionalCar(car, airplane);

            //Assert
            Assert.That(multiVehicle.Drive, Is.EqualTo("Driving a car"));
            Assert.That(multiVehicle.Fly, Is.EqualTo("Flying a plane"));
        }
Exemplo n.º 3
0
    public static void Main(string[] args)
    {
        var car = new Car();

        car.Drive();
        var airplane = new Airplane();

        airplane.Fly();
        var multiCar = new MultiFunctionalCar();

        multiCar.Drive();
        multiCar.Fly();
    }
Exemplo n.º 4
0
        internal static void Main()
        {
            var multiVehicle = new MultiFunctionalCar(new Car(), new Airplane());

            multiVehicle.Drive();
            multiVehicle.Fly();

            var airplane = new Airplane();

            airplane.Fly();

            var car = new Car();

            car.Drive();
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            // ------------- SRP --------------------

            var report = new WorkReport();

            report.AddEntry(new WorkReportEntry {
                ProjectCode = "123Ds", ProjectName = "Project1", SpentHours = 5
            });
            report.AddEntry(new WorkReportEntry {
                ProjectCode = "987Fc", ProjectName = "Project2", SpentHours = 3
            });

            Console.WriteLine(report.ToString());
            Console.WriteLine();

            // ------------- OCP --------------------

            var devReports = new List <BaseSalaryCalculator>
            {
                new SeniorDevSalaryCalculator(new DeveloperReport {
                    Id = 1, Name = "Dev1", Level = "Senior developer", HourlyRate = 30.5, WorkingHours = 160
                }),
                new JuniorDevSalaryCalculator(new DeveloperReport {
                    Id = 2, Name = "Dev2", Level = "Junior developer", HourlyRate = 20, WorkingHours = 150
                }),
                new SeniorDevSalaryCalculator(new DeveloperReport {
                    Id = 3, Name = "Dev3", Level = "Senior developer", HourlyRate = 30.5, WorkingHours = 180
                })
            };

            var calculator = new SalaryCalculator(devReports);

            Console.WriteLine($"Sum of all the developer salaries is {calculator.CalculateTotalSalaries()} dollars");
            Console.WriteLine();

            // ------------- LSP --------------------

            var numbers = new int[] { 5, 7, 9, 8, 1, 6, 4 };

            Calculator sumCalculator = new SumCalculator(numbers);

            Console.WriteLine($"The sum of all the numbers: {sumCalculator.Calculate()}");

            Calculator evenSum = new EvenNumbersSumCalculator(numbers);

            Console.WriteLine($"The sum of all the even numbers: {evenSum.Calculate()}");
            Console.WriteLine();

            // ------------- ISP --------------------

            ICar car = new MultiFunctionalCar();

            car.Drive();

            IAirplane airplane = new MultiFunctionalCar();

            airplane.Fly();

            Console.WriteLine();

            // ------------- DIP --------------------

            var empManager = new EmployeeManager();

            empManager.AddEmployee(new Employee {
                Name = "Leen", Gender = Gender.Female, Position = Position.Manager
            });
            empManager.AddEmployee(new Employee {
                Name = "Mike", Gender = Gender.Male, Position = Position.Administrator
            });
            empManager.AddEmployee(new Employee {
                Name = "Lina", Gender = Gender.Female, Position = Position.Administrator
            });

            var empAdmin = new EmployeeAdmin();

            empAdmin.AddEmployee(new Employee {
                Name = "Lina", Gender = Gender.Female, Position = Position.Administrator
            });

            var stats  = new EmployeeStatistics(empManager);
            var stats1 = new EmployeeStatistics(empAdmin);

            Console.WriteLine($"Number of female managers in our company is: {stats.CountFemaleManagers()}");
            Console.WriteLine($"Number of female managers in our company is: {stats1.CountFemaleAdmins()}");

            int k = 5;

            int f = k += 1;

            Console.WriteLine(f);
        }