///<summary> Adds On_Exit Outputs as an Effect to the TargetEO, as well as Effects with allowTransmission. Also flags Effects meeting the On_Exit TerminalCondition for removal. </summary>
        private void OnExit(TransferCondition exitTC, TerminalCondition terminalCondition, DestroyCondition exitDSC, EnvironObject targetEO)
        {
            if (targetEO == null)
            {
                return;
            }

            foreach (EnvironOutput effect in effects.inputList)
            {
                if (effect.allowTransmission && effect.transferCondition == exitTC)
                {
                    CheckAndAdd(effect, targetEO, exitDSC);
                }
            }

            foreach (EnvironOutput eOut in output)
            {
                if (eOut.transferCondition == exitTC)
                {
                    CheckAndAdd(eOut, targetEO, exitDSC);
                }

                if (eOut.endOnCondition == terminalCondition)
                {
                    targetEO.effects.FlagForRemoval(eOut);
                }
            }
        }
Ejemplo n.º 2
0
        public void When_Transfer_Is_Same_Bank(string originBank, string destinationBank, double expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            double            actualResult      = transferCondition.IsSameBank(originBank, destinationBank);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 3
0
        public void When_TransferAmount_And_TransferFee_Is_Over_Account_Balance(double transferAmountAndFee, double accountBalance, bool expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            bool actualResult = transferCondition.IsTotalTransferOverAccountBalance(transferAmountAndFee, accountBalance);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 4
0
        public void When_Transfer_Is_Same_Area(string originArea, string destinationArea, double expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            double            actualResult      = transferCondition.IsSameArea(originArea, destinationArea);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 5
0
        public void When_TransferAmount_And_TransferFee_Is_Over_Accumulated_In_Day(double transferAmountAndFee, double accumulatedNumber, bool expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            bool actualResult = transferCondition.IsTotalTransferOverAccumulated(transferAmountAndFee, accumulatedNumber);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 6
0
        public void When_TransferFee_Is_Not_0(double transferFee, bool expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            bool actualResult = transferCondition.IsTransferFee(transferFee);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 7
0
        public void When_TransferAmount_Between_1_And_20000(double transferAmount, bool expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            bool actualResult = transferCondition.IsTransferAmount(transferAmount);

            Assert.Equal(expectedResult, actualResult);
        }
Ejemplo n.º 8
0
        public void When_Accumulated_Between_0_And_100000(double accumulatedNumber, bool expectedResult)
        {
            TransferCondition transferCondition = new TransferCondition();
            bool actualResult = transferCondition.IsAccumulated(accumulatedNumber);

            Assert.Equal(expectedResult, actualResult);
        }
        ///<summary> Adds On_Stay Outputs as an Effect to the TargetEO, as well as Effects with allowTransmission. </summary>
        private void OnStay(TransferCondition stay, EnvironObject targetEO)
        {
            if (targetEO == null)
            {
                return;
            }

            foreach (EnvironOutput effect in output)
            {
                if (effect.transferCondition == stay)
                {
                    CheckAndAdd(effect, targetEO);
                }
            }

            foreach (EnvironOutput tEffect in effects.inputList)
            {
                if (tEffect.allowTransmission && tEffect.transferCondition == stay)
                {
                    CheckAndAdd(tEffect, targetEO);
                }
            }
        }
        ///<summary> Adds On_Enter Outputs as an Effect to the TargetEO, as well as Effects with allowTransmission. </summary>
        private void OnEnter(TransferCondition enterTC, DestroyCondition enterDSC, EnvironObject targetEO)
        {
            if (targetEO == null)
            {
                return;
            }

            foreach (EnvironOutput effect in output)
            {
                if (effect.transferCondition == enterTC)
                {
                    CheckAndAdd(effect, targetEO, enterDSC);
                }
            }

            foreach (EnvironOutput tEffect in effects.inputList)
            {
                if (tEffect.allowTransmission && tEffect.transferCondition == enterTC)
                {
                    CheckAndAdd(tEffect, targetEO, enterDSC);
                }
            }
        }