//constructor of statistic presentation model public StatisticPresentationModel(EZMoneyModel ezMoneyModel) { _categoryModel = ezMoneyModel.CategoryModel; _recordModel = ezMoneyModel.RecordModel; _statisticModel = ezMoneyModel.StatisticModel; InitializeState(); }
public void TestGetAmounts() { CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryWork = new Category(CATEGORY_NAME_WORK); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryWork); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 DateTime now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day); Record movieRecord = new Record(date, categoryMovie, -1000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -2000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -3000); recordModel.AddRecord(movieRecord); Record workRecord = new Record(date, categoryWork, 1000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 2000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 3000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 4000); recordModel.AddRecord(workRecord); StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 int income = statisticModel.GetAmounts(recordModel.Records, true); Assert.AreEqual(10000, income); int expense = statisticModel.GetAmounts(recordModel.Records, false); Assert.AreEqual(-6000, expense); }
//constructor public EZMoneyModel() { _categoryModel = new CategoryModel(); _categoryModel.ReadCategoryFromFile(); _recordModel = new RecordModel(_categoryModel); _recordModel.ReadRecordFromFile(); _statisticModel = new StatisticModel(_categoryModel, _recordModel); }
public void TestGetBalance() { CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryWork = new Category(CATEGORY_NAME_WORK); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryWork); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 DateTime now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day); Record movieRecord = new Record(date, categoryMovie, -1000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -2000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -3000); recordModel.AddRecord(movieRecord); Record workRecord = new Record(date, categoryWork, 1000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 2000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 3000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 4000); recordModel.AddRecord(workRecord); StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 int balance = statisticModel.GetBalance(recordModel.Records); Assert.AreEqual(4000, balance); }
public void TestStatisticDataGridViewDataSource() { CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryWork = new Category(CATEGORY_NAME_WORK); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryWork); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 DateTime now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day); Record movieRecord = new Record(date, categoryMovie, -1000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -2000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -3000); recordModel.AddRecord(movieRecord); Record workRecord = new Record(date, categoryWork, 1000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 2000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 3000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 4000); recordModel.AddRecord(workRecord); StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 BindingList<Statistic> incomeStatistics = statisticModel.GetStatisticDataGridViewDataSource(true); BindingList<Statistic> expenseStatistics = statisticModel.GetStatisticDataGridViewDataSource(false); Assert.AreEqual(1, incomeStatistics.Count); int incomeAmount = 0; foreach (Statistic statistic in incomeStatistics) { incomeAmount += statistic.Amounts; } Assert.AreEqual(10000, incomeAmount); int expenseAmount = 0; foreach (Statistic statistic in expenseStatistics) { expenseAmount += statistic.Amounts; } Assert.AreEqual(-6000, expenseAmount); }
public void TestStatistic() { CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryWork = new Category(CATEGORY_NAME_WORK); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryWork); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 DateTime now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day); Record workRecord = new Record(date, categoryWork, 1000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 2000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 3000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 4000); recordModel.AddRecord(workRecord); StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 Statistic statistic = statisticModel.GetStatistic(categoryWork, true); Assert.AreEqual(10000, statistic.Amounts); Assert.AreEqual(categoryWork, statistic.Category); Assert.AreEqual(4, statistic.Count); }
public void TestSetPercent() { const String SEVENTY_FIVE_PERCENT = "75%"; const String TWENTY_FIVE_PERCENT = "25%"; CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryEntertainment = new Category(CATEGORY_NAME_ENTERTAINMENT); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryEntertainment); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 BindingList<Statistic> statistics = new BindingList<Statistic>(); // TODO: 初始化為適當值 Statistic statisticMovie = new Statistic(categoryMovie); Statistic statisticEntertainment = new Statistic(categoryEntertainment); statisticMovie.Amounts = 1000; statistics.Add(statisticMovie); statisticEntertainment.Amounts = 3000; statistics.Add(statisticEntertainment); int amounts = 4000; // TODO: 初始化為適當值 statisticModel.SetPercent(statistics, amounts); Assert.AreEqual(TWENTY_FIVE_PERCENT, statisticMovie.Percent); Assert.AreEqual(SEVENTY_FIVE_PERCENT, statisticEntertainment.Percent); }
public void TestIncomeStatistics() { CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值 Category categoryMovie = new Category(CATEGORY_NAME_MOVIE); Category categoryWork = new Category(CATEGORY_NAME_WORK); categoryModel.AddCategory(categoryMovie); categoryModel.AddCategory(categoryWork); RecordModel recordModel = new RecordModel(categoryModel); // TODO: 初始化為適當值 DateTime now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day); Record movieRecord = new Record(date, categoryMovie, -1000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -2000); recordModel.AddRecord(movieRecord); movieRecord = new Record(date, categoryMovie, -3000); recordModel.AddRecord(movieRecord); Record workRecord = new Record(date, categoryWork, 1000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 2000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 3000); recordModel.AddRecord(workRecord); workRecord = new Record(date, categoryWork, 4000); recordModel.AddRecord(workRecord); StatisticModel statisticModel = new StatisticModel(categoryModel, recordModel); // TODO: 初始化為適當值 BindingList<Statistic> statistics = statisticModel.GetIncomeStatistics(); Assert.AreEqual(1, statistics.Count); int amount = 0; foreach (Statistic statistic in statistics) { amount += statistic.Amounts; } Assert.AreEqual(10000, amount); }