示例#1
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);
 }
示例#2
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);
 }
 //constructor of statistic presentation model
 public StatisticPresentationModel(EZMoneyModel ezMoneyModel)
 {
     _categoryModel = ezMoneyModel.CategoryModel;
     _recordModel = ezMoneyModel.RecordModel;
     _statisticModel = ezMoneyModel.StatisticModel;
     InitializeState();
 }
示例#4
0
 public void TestAddCategory1()
 {
     CategoryModel categoryModel = new CategoryModel();
     categoryModel.AddCategory(CATEGORY_NAME_MOVIE);
     Assert.AreEqual(1, categoryModel.Categories.Count);
     categoryModel.AddCategory(CATEGORY_NAME_WORK);
     Assert.AreEqual(2, categoryModel.Categories.Count);
 }
示例#5
0
 //constructor
 public EZMoneyModel()
 {
     _categoryModel = new CategoryModel();
     _categoryModel.ReadCategoryFromFile();
     _recordModel = new RecordModel(_categoryModel);
     _recordModel.ReadRecordFromFile();
     _statisticModel = new StatisticModel(_categoryModel, _recordModel);
 }
示例#6
0
 public void TestGetCategories()
 {
     CategoryModel categoryModel = new CategoryModel();
     Category categoryMovie = new Category(CATEGORY_NAME_MOVIE);
     Category categoryWork = new Category(CATEGORY_NAME_WORK);
     categoryModel.AddCategory(categoryMovie);
     categoryModel.AddCategory(categoryWork);
     Assert.AreEqual(categoryMovie, categoryModel.Categories[0]);
     Assert.AreEqual(categoryWork, categoryModel.Categories[1]);
 }
示例#7
0
 public void TestGetCategory()
 {
     CategoryModel categoryModel = new CategoryModel();
     Category categoryMovie = new Category(CATEGORY_NAME_MOVIE);
     Category categoryWork = new Category(CATEGORY_NAME_WORK);
     categoryModel.AddCategory(categoryMovie);
     categoryModel.AddCategory(categoryWork);
     Assert.AreEqual(categoryMovie, categoryModel.GetCategory(0));
     Assert.AreEqual(categoryWork, categoryModel.GetCategory(1));
     Assert.AreEqual(new Category(string.Empty), categoryModel.GetCategory(2));
 }
示例#8
0
 //constructor
 public StatisticModel(CategoryModel categoryModel, RecordModel recordModel)
 {
     _categoryModel = categoryModel;
     _recordModel   = recordModel;
 }
示例#9
0
 //constructor
 public StatisticModel(CategoryModel categoryModel, RecordModel recordModel)
 {
     _categoryModel = categoryModel;
     _recordModel = recordModel;
 }
示例#10
0
 public void TestIsExistByCategoryName()
 {
     CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值
     categoryModel.AddCategory(new Category(CATEGORY_NAME_MOVIE));
     categoryModel.AddCategory(new Category(CATEGORY_NAME_WORK));
     Assert.IsTrue(categoryModel.IsExist(CATEGORY_NAME_MOVIE));
     Assert.IsTrue(categoryModel.IsExist(CATEGORY_NAME_WORK));
     Assert.IsFalse(categoryModel.IsExist(CATEGORY_NAME_ENTERTAINMENT));
 }
示例#11
0
 public void TestWriteCategoryToFile()
 {
     CategoryModel categoryModel = new CategoryModel(); // TODO: 初始化為適當值
     Category categoryMovie = new Category(CATEGORY_NAME_MOVIE);
     Category categoryWork = new Category(CATEGORY_NAME_WORK);
     Category categoryEntertainment = new Category(CATEGORY_NAME_ENTERTAINMENT);
     categoryModel.AddCategory(categoryMovie);
     categoryModel.AddCategory(categoryWork);
     categoryModel.AddCategory(categoryEntertainment);
     Assert.AreEqual(3, categoryModel.Categories.Count);
     categoryModel.WriteCategoryToFile();
     categoryModel = new CategoryModel();
     categoryModel.ReadCategoryFromFile();
     Assert.AreEqual(3, categoryModel.Categories.Count);
     Assert.AreEqual(categoryMovie, categoryModel.GetCategory(0));
     Assert.AreEqual(categoryWork, categoryModel.GetCategory(1));
     Assert.AreEqual(categoryEntertainment, categoryModel.GetCategory(2));
 }
示例#12
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);
 }
示例#13
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);
 }
示例#14
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);
 }
示例#15
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);
 }
示例#16
0
 public void TestIsExist()
 {
     CategoryModel categoryModel = new CategoryModel();
     Category categoryMovie = new Category(CATEGORY_NAME_MOVIE);
     Category categoryWork = new Category(CATEGORY_NAME_WORK);
     Category categoryEntertainment = new Category(CATEGORY_NAME_ENTERTAINMENT);
     categoryModel.AddCategory(categoryMovie);
     categoryModel.AddCategory(categoryWork);
     Assert.IsTrue(categoryModel.IsExist(categoryMovie));
     Assert.IsTrue(categoryModel.IsExist(categoryWork));
     Assert.IsFalse(categoryModel.IsExist(categoryEntertainment));
 }
示例#17
0
 public void TestGetCategoryIndex()
 {
     CategoryModel categoryModel = new CategoryModel();
     Category categoryMovie = new Category(CATEGORY_NAME_MOVIE);
     Category categoryWork = new Category(CATEGORY_NAME_WORK);
     categoryModel.AddCategory(categoryMovie);
     categoryModel.AddCategory(categoryWork);
     Assert.AreEqual(0, categoryModel.GetCategoryIndex(categoryMovie));
     Assert.AreEqual(1, categoryModel.GetCategoryIndex(categoryWork));
 }