private static void AddExpenses(Report report) { Console.WriteLine("When prompted, enter aggregated expenses..."); var expenseCategories = BudgetCategoryFactory.GetExpenseCategories(); foreach (var category in expenseCategories) { var amount = GetPromptedAmount(category); var budgetType = BudgetCategoryFactory.GetBudgetType(category, ""); report.AddExpenditure(budgetType, amount); } }
private static void AddIncome(Report report) { Console.WriteLine("When prompted, enter income..."); var incomeCategories = BudgetCategoryFactory.GetIncomeCategories(); foreach (var category in incomeCategories) { var prompt = string.IsNullOrWhiteSpace(category) ? "Unspecified Income" : category; var amount = GetPromptedAmount(prompt); var budgetType = BudgetCategoryFactory.GetBudgetType("Income", category); report.AddExpenditure(budgetType, amount); } }
public void GetBudgetTypeHandlesEmptySubCategories() { var budgetType = BudgetCategoryFactory.GetBudgetType("Income", ""); Assert.That(budgetType, Is.EqualTo(BudgetType.Income)); }
public void CanGetBudgetTypeForValidCategories() { var budgetType = BudgetCategoryFactory.GetBudgetType("Income", "Misc"); Assert.That(budgetType, Is.EqualTo(BudgetType.Income_Misc)); }