public void PlnFrom_WhenCurrencyContainOnlyCents_ThenCanNotParse()
        {
            var money = MoneyFactory.PlnFrom("50 cents");

            Assert.AreEqual(50m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
    static void Main(string[] args)
    {
        IMoney    graphical_money_obj = null;
        int       currency_display_value, sum = 0;
        const int ONE_MILLION = 10000; // Assume this is one million

        int[]        currency_denominations = new[] { 1, 5, 10, 20, 50, 100 };
        MoneyFactory moneyFactory           = new MoneyFactory();

        Random rand = new Random();

        while (sum <= ONE_MILLION)
        {
            currency_display_value = currency_denominations[rand.Next(0, currency_denominations.Length)];

            if (currency_display_value == 1 || currency_display_value == 5)
            {
                graphical_money_obj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Metallic);
            }
            else
            {
                graphical_money_obj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Paper);
            }

            graphical_money_obj.GetDisplayOfMoneyFalling(currency_display_value);

            sum = sum + currency_display_value;
        }

        Console.WriteLine("Total number of objects created is: " + MoneyFactory.ObjectsCount.ToString());

        Console.ReadLine();
    }
        public void PlnFrom_WhenAmountIsShort_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("5.53 USD");

            Assert.AreEqual(5.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
        public void PlnFrom_WhenCurrencyFormatIsStrang_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("zł,sdf.sdf l euro1 5.,4.5,.53zł sdfsdf USD");

            Assert.AreEqual(1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
        public void PlnFrom_WhenDecimalSeparatorIsComma_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("1 545,53 USD");

            Assert.AreEqual(1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
        public void PlnFrom_WhenCurrencyIsDifferent_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("zł euro1 545,53zł USD");

            Assert.AreEqual(1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
        public void PlnFrom_WhenGroupSeparatorIsWhiteSpace_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("1 545.53 USD");

            Assert.AreEqual(1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
        public void PlnFrom_WhenAmountHasMinus_ThenCanParse()
        {
            var money = MoneyFactory.PlnFrom("- 1,545.53 USD");

            Assert.AreEqual(-1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.PLN, money.Value().Currency);
        }
Beispiel #9
0
        public void EuroFrom_WhenGroupSeparatorIsDot_ThenCanParse()
        {
            var money = MoneyFactory.EuroFrom("1.545.53 USD");

            Assert.AreEqual(1545.53m, money.Value().Value);
            Assert.AreEqual(Currency.EURO, money.Value().Currency);
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            const int ONE_MILLION = 10000;
            int[] currencyDenominations = new[] { 1, 5, 10, 20, 50, 100 };
            MoneyFactory moneyFactory = new MoneyFactory();
            int sum = 0;

            while (sum <= ONE_MILLION)
            {
                IMoney graphicalMoneyObj = null;
                Random rand = new Random();
                int currencyDisplayValue = currencyDenominations[rand.Next(0, currencyDenominations.Length)];

                if (currencyDisplayValue == 1 || currencyDisplayValue == 5)
                {
                    graphicalMoneyObj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Metallic);
                }
                else
                {
                    graphicalMoneyObj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Paper);
                }

                graphicalMoneyObj.GetDisplayOfMoneyFalling(currencyDisplayValue);
                sum = sum + currencyDisplayValue;
            }
            Console.WriteLine("Total Objects created=" + MoneyFactory.ObjectsCount.ToString());
        }
Beispiel #11
0
        /// <summary> Creates a random Money entity </summary>
        private Money RandomMoney()
        {
            // Array of Coins enum
            Coins[] coins = Enum.GetValues(typeof(Coins)).Cast <Coins>().ToArray();

            int maxVal      = coins.Sum(x => (int)x);
            int randNum     = random.Next(0, maxVal);
            int totalRarity = 0;


            // Loop until monster selected
            foreach (Coins coin in coins)
            {
                int rarity = (int)coin;

                // Return Money entity if selected
                if (randNum < rarity + totalRarity)
                {
                    return(MoneyFactory.Create(coin));
                }

                totalRarity += rarity;
            }


            return(null);
        }
        public Money CopyAmountFromConfirmation(ICurrencyPolicy policy)
        {
            var amountValue = GetValueByRegexs(
                patternToMatchPosition: CofirmationTemplate.AmountPattern(policy.CurrencySymbolForRegex),
                patternToMatchValue: @"\d+\.\d+");

            var amount = MoneyFactory.Money(amountValue, policy.CurrencySymbolForAmount).Value();

            LogMachedValue(amount.ToString());

            return(amount);
        }
Beispiel #13
0
        public Money CopyAmountFromConfirmation(ICurrencyPolicy policy)
        {
            var value = this.Match(4, ConfirmationTemplate.AmountPattern);

            var amount = MoneyFactory.Money(value, policy.CurrencySymbolForAmount);

            if (!amount.HasValue())
            {
                throw new ApplicationException("Amount not exist");
            }

            var amountValue = amount.Value();

            LogMachedValue(amountValue.Value + amountValue.Currency);

            return(amountValue);
        }
    static void Main(string[] args)
    {
        IMoney graphical_money_obj = null;
        int currency_display_value, sum = 0;
        const int ONE_MILLION = 10000; // Assume this is one million
        int[] currency_denominations = new[] { 1, 5, 10, 20, 50, 100 };
        MoneyFactory moneyFactory = new MoneyFactory();

        Random rand = new Random();

        while (sum <= ONE_MILLION)
        {
            currency_display_value = currency_denominations[rand.Next(0, currency_denominations.Length)];

            if (currency_display_value == 1 || currency_display_value == 5)
                graphical_money_obj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Metallic);
            else
                graphical_money_obj = moneyFactory.GetMoneyToDisplay(EnMoneyType.Paper);

            graphical_money_obj.GetDisplayOfMoneyFalling(currency_display_value);

            sum = sum + currency_display_value;
        }

        Console.WriteLine("Total number of objects created is: " + MoneyFactory.ObjectsCount.ToString());

        Console.ReadLine();
    }
        public void PlnFrom_WhenCurrencyFormatIsIncorrect_ThenCanNotParse()
        {
            var money = MoneyFactory.PlnFrom(".,sdf4.5s,.5s3zł");

            Assert.False(money.HasValue());
        }