Exemplo n.º 1
0
        public override void CreateTransactions()
        {
            // Console.WriteLine("===Start Plan.ConditionBasedPlan()===");
            TransactionConfig.Description    = Description;
            TransactionConfig.ExpectedResult = FindExpectedResult("Balance", this.Description.Split(',')[1]);
            TransactionConfig.SetConditionSet(""); // parameter is nothing ( because all of them are true)
            Transactions.Add(new Balance(TransactionConfig));

            // ===============================================================================
            var    transactionName     = this.Description.Split(',')[0];
            string objectToInstantiate = "TransactionTest." + transactionName;
            var    objectType          = Type.GetType(objectToInstantiate);
            var    instantiatedObject  = Activator.CreateInstance(objectType);

            // object Cloning
            var withdrawalTransactionConfig = TransactionConfig.DeepCopy <TransactionConfig>(TransactionConfig);

            withdrawalTransactionConfig.ExpectedResult = FindExpectedResult(transactionName,
                                                                            this.Description.Split(',')[1]);
            withdrawalTransactionConfig.SetConditionSet(this.Description.Split(',')[1]);

            objectType.InvokeMember("SetTransactionConfig", BindingFlags.InvokeMethod, null,
                                    instantiatedObject,
                                    new object[] { withdrawalTransactionConfig });
            Transactions.Add((Transaction)instantiatedObject);

            // ===============================================================================

            Transactions.Add(new Balance(TransactionConfig));

            // ===============================================================================
        }