Example #1
0
        static void Main(string[] args)
        {
            ComplexCalculator complexCalculator = new ComplexCalculator();
            //complexConsoleCalculator.ShowCalculator();
            DigitCalculator             digitCalculator   = new DigitCalculator();
            ConsoleCalculator <Complex> consoleCalculator = new ConsoleCalculator <Complex>(complexCalculator);

            consoleCalculator.ShowCalculator();
        }
Example #2
0
        public void T006_CustomerAsksForPersonalTaxComplexCalculator()
        {
            // Here, you will have to move (copy) the code from test T005 a bit.
            // Note that you have effectively done this in T005 - but now it is a separate class.

            // Given
            Customer          customer   = new Customer(20000, CustomerType.Personal);
            ComplexCalculator calculator = new ComplexCalculator();

            // When
            int owed = calculator.ProcessCustomer(customer);

            // Then
            Assert.AreEqual(2160, owed);
        }
Example #3
0
        public void T010_ObserveEverythingWorksForComplexCalculator()
        {
            // Given
            List <Customer> customers = new List <Customer>()
            {
                new Customer(20000, CustomerType.Personal),      // this one uses "old" personal calc -> 2160
                new Customer(100000, CustomerType.Personal),     // this one uses "new" personal calc -> 18586
                new Customer(20000, CustomerType.BusinessLinear) // this one uses linear tax -> 3800
            };

            ComplexCalculator calculator = new ComplexCalculator();

            // When
            int owed = calculator.ProcessCustomers(customers);

            // Then
            Assert.AreEqual(10591, owed);
        }
Example #4
0
        public void T007_ProcessThreeCustomers()
        {
            // Technically, a new method operating on groups.
            // Feel free to use OLD method from T006, but in a foreach.

            // Given
            List <Customer> customers = new List <Customer>()
            {
                new Customer(20000, CustomerType.Personal),
                new Customer(30000, CustomerType.Personal),
                new Customer(30000, CustomerType.BusinessLinear)
            };

            ComplexCalculator calculator = new ComplexCalculator();

            // When
            int owed = calculator.ProcessCustomers(customers);

            // Then
            Assert.AreEqual(11820, owed);
        }
        public double[,] PolePlacement()
        {
            ComplexCalculator complexCalculator = new ComplexCalculator();

            ComplexNumber[] newPoleLocation;

            if (Controllable() == true && Observable() == true)
            {
                int newPoleNumber = complexCalculator.SetVectorSize();

                newPoleLocation = complexCalculator.SetComplexArray(newPoleNumber);

                //Use new pole location to compute State feedback gain matrix K
                //double[,] K = new double[,];
                //return double[,] K;
            }
            else
            {
                throw new System.ArgumentException("Input system is not controllable and observable");
            }
        }
Example #6
0
 static void Main(string[] args)
 {
     ComplexCalculator calc = new ComplexCalculator();
     calc.RunCalculator();
 }
Example #7
0
 public ComplexConsoleCalculator(ComplexCalculator complexCalc) => (_calculator) = (complexCalc);