public void TestEnumOptionParsingFromConstructor(string rawText, double expectedAsDouble)
        {
            Money expected            = expectedAsDouble;
            MoneyCommandOption option = new MoneyCommandOption(CommandOptionKind.Date, rawText);

            Assert.Equal(expected, option.GetValue(null));
        }
 public AddAccountCommand(string rawText, RepositoryBag repositories, string accountName) : base(rawText, repositories)
 {
     AccountId          = new IntegerCommandOption(CommandOptionKind.Account);
     AccountName        = new StringCommandOption(CommandOptionKind.Name);
     CategoryNameOption = new StringCommandOption(CommandOptionKind.Category);
     DescriptionOption  = new StringCommandOption(CommandOptionKind.Description);
     FundsOption        = new MoneyCommandOption(CommandOptionKind.Funds);
     PriorityOption     = new IntegerCommandOption(CommandOptionKind.Priority);
     AccountTypeOption  = new EnumCommandOption <AccountKind>(CommandOptionKind.AccountType);
     AccountName.SetData(accountName);
 }
        public void TestEnumOptionParsing()
        {
            Money value1 = 200.45;

            MoneyCommandOption option = new MoneyCommandOption(CommandOptionKind.Date);
            Money parsedData;
            bool  successful = option.TryParseData("200.45", out parsedData);

            Assert.True(successful);
            Assert.Equal(value1, parsedData);

            successful = option.SetData("asdf");
            Assert.False(successful);
            Assert.False(option.IsDataValid);

            successful = option.SetData("67.99");
            Assert.True(successful);
            Assert.True(option.IsDataValid);
        }