//constructor of statistic presentation model
 public StatisticPresentationModel(EZMoneyModel ezMoneyModel)
 {
     _categoryModel = ezMoneyModel.CategoryModel;
     _recordModel = ezMoneyModel.RecordModel;
     _statisticModel = ezMoneyModel.StatisticModel;
     InitializeState();
 }
 //constructor of statistic presentation model
 public StatisticPresentationModel(EZMoneyModel ezMoneyModel)
 {
     _categoryModel  = ezMoneyModel.CategoryModel;
     _recordModel    = ezMoneyModel.RecordModel;
     _statisticModel = ezMoneyModel.StatisticModel;
     InitializeState();
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 //constructor
 public EZMoneyModel()
 {
     _categoryModel = new CategoryModel();
     _categoryModel.ReadCategoryFromFile();
     _recordModel = new RecordModel(_categoryModel);
     _recordModel.ReadRecordFromFile();
     _statisticModel = new StatisticModel(_categoryModel, _recordModel);
 }
Esempio n. 5
0
 //constructor
 public EZMoneyModel()
 {
     _categoryModel = new CategoryModel();
     _categoryModel.ReadCategoryFromFile();
     _recordModel = new RecordModel(_categoryModel);
     _recordModel.ReadRecordFromFile();
     _statisticModel = new StatisticModel(_categoryModel, _recordModel);
 }
Esempio n. 6
0
 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);
 }
Esempio n. 7
0
 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);
 }
Esempio n. 8
0
 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);
 }
Esempio n. 9
0
 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);
 }
Esempio n. 10
0
 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);
 }