示例#1
0
        public void TestGetRecordsByCategory()
        {
            CategoryModel categoryModel = new CategoryModel();
            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);
            DateTime    now                 = DateTime.Now;
            DateTime    date                = new DateTime(now.Year, now.Month, now.Day);
            Record      recordMoviePositive = new Record(date, categoryMovie, 100);
            Record      recordMovieNegative = new Record(date, categoryMovie, -100);
            Record      recordWorkPositive  = new Record(date, categoryWork, 100);
            Record      recordWorkNegative  = new Record(date, categoryWork, -100);

            recordModel.AddRecord(recordMoviePositive);
            recordModel.AddRecord(recordMovieNegative);
            recordModel.AddRecord(recordMovieNegative);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            BindingList <Record> movieRecords;

            movieRecords = recordModel.GetRecords(categoryMovie);
            Assert.AreEqual(3, movieRecords.Count);
            BindingList <Record> workRecords;

            workRecords = recordModel.GetRecords(categoryWork);
            Assert.AreEqual(7, workRecords.Count);
        }
示例#2
0
        public void TestAddRecord()
        {
            CategoryModel categoryModel = new CategoryModel();
            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);
            DateTime    now                 = DateTime.Now;
            DateTime    date                = new DateTime(now.Year, now.Month, now.Day);
            Record      recordMoviePositive = new Record(date, categoryMovie, 100);
            Record      recordMovieNegative = new Record(date, categoryMovie, -100);
            Record      recordWorkPositive  = new Record(date, categoryWork, 100);
            Record      recordWorkNegative  = new Record(date, categoryWork, -100);

            recordModel.AddRecord(recordMoviePositive);
            Assert.AreEqual(1, recordModel.Records.Count);
            recordModel.AddRecord(recordMovieNegative);
            Assert.AreEqual(2, recordModel.Records.Count);
            recordModel.AddRecord(recordWorkPositive);
            Assert.AreEqual(3, recordModel.Records.Count);
            recordModel.AddRecord(recordWorkNegative);
            Assert.AreEqual(4, recordModel.Records.Count);
        }
示例#3
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);
        }
示例#4
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);
 }
示例#5
0
        public void TestWriteRecordToFile()
        {
            CategoryModel categoryModel = new CategoryModel();
            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);
            DateTime    now                 = DateTime.Now;
            DateTime    date                = new DateTime(now.Year, now.Month, now.Day);
            Record      recordMoviePositive = new Record(date, categoryMovie, 100);
            Record      recordMovieNegative = new Record(date, categoryMovie, -100);
            Record      recordWorkPositive  = new Record(date, categoryWork, 100);
            Record      recordWorkNegative  = new Record(date, categoryWork, -100);

            recordModel.AddRecord(recordMoviePositive);
            recordModel.AddRecord(recordMovieNegative);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkNegative);
            BindingList <Record> records = recordModel.Records;

            recordModel.WriteRecordToFile();
            recordModel = new RecordModel(categoryModel);
            recordModel.ReadRecordFromFile();
            Assert.AreEqual(records.Count, recordModel.Records.Count);
        }
示例#6
0
        public void TestRemoveRecordsByCategory()
        {
            CategoryModel categoryModel = new CategoryModel();            // TODO: 初始化為適當值
            RecordModel   recordModel   = new RecordModel(categoryModel); // TODO: 初始化為適當值
            Record        record1       = new Record(DateTime.Now, new Category(CATEGORY_NAME_MOVIE), 100);
            Record        record2       = new Record(DateTime.Now, new Category(CATEGORY_NAME_MOVIE), 100);
            Record        record3       = new Record(DateTime.Now, new Category(CATEGORY_NAME_WORK), 100);
            Record        record4       = new Record(DateTime.Now, new Category(CATEGORY_NAME_MOVIE), 100);

            recordModel.AddRecord(record1);
            recordModel.AddRecord(record2);
            recordModel.AddRecord(record3);
            recordModel.AddRecord(record4);
            recordModel.RemoveRecordsByCategory(new Category(CATEGORY_NAME_WORK));
            Assert.AreEqual(3, recordModel.Records.Count);
        }
示例#7
0
        public void TestChangeAmount()
        {
            EZMoneyModel            ezMoneyModel  = new EZMoneyModel();                        // TODO: 初始化為適當值
            RecordPresentationModel recordPModel  = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值
            RecordModel             recordModel   = ezMoneyModel.RecordModel;
            CategoryModel           categoryModel = ezMoneyModel.CategoryModel;

            recordModel.Records.Clear();
            categoryModel.Categories.Clear();
            Category category = new Category(CATEGORY_NAME_MOVIE);

            categoryModel.AddCategory(category);
            DateTime date   = DateTime.Now; // TODO: 初始化為適當值
            Record   record = new Record(date, category, 100);

            recordModel.AddRecord(record);
            recordPModel.SelectRecord(0);
            const String AMOUNT_ORIGIN = "100";
            const string AMOUNT_AFTER  = "200";

            Assert.AreEqual(AMOUNT_ORIGIN, recordPModel.Amount);
            recordPModel.ChangeAmount(AMOUNT_AFTER);
            Assert.AreEqual(AMOUNT_AFTER, recordPModel.Amount);
            recordPModel.IsSelectionMode = false;
            recordPModel.ChangeAmount(AMOUNT_AFTER);
            Assert.AreEqual(AMOUNT_AFTER, recordPModel.Amount);
        }
示例#8
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);
 }
示例#9
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);
        }
示例#10
0
        public void TestGetExpenseStatistics()
        {
            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, 1000);
            recordModel.AddRecord(movieRecord);
            movieRecord = new Record(date, categoryMovie, -1000);
            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;

            statistics = statisticModel.GetExpenseStatistics();
            Assert.AreEqual(1, statistics.Count);
        }
示例#11
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);
        }
示例#12
0
        public void TestGetRecordsWithCategoryAndPositive()
        {
            CategoryModel categoryModel = new CategoryModel();
            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);
            DateTime    now                 = DateTime.Now;
            DateTime    date                = new DateTime(now.Year, now.Month, now.Day);
            Record      recordMoviePositive = new Record(date, categoryMovie, 100);
            Record      recordMovieNegative = new Record(date, categoryMovie, -100);
            Record      recordWorkPositive  = new Record(date, categoryWork, 100);
            Record      recordWorkNegative  = new Record(date, categoryWork, -100);

            recordModel.AddRecord(recordMoviePositive);
            recordModel.AddRecord(recordMovieNegative);
            recordModel.AddRecord(recordMovieNegative);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkPositive);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            recordModel.AddRecord(recordWorkNegative);
            BindingList <Record> positiveMovieRecords;

            positiveMovieRecords = recordModel.GetRecords(categoryMovie, true);
            Assert.AreEqual(1, positiveMovieRecords.Count);
            BindingList <Record> negativeMovieRecords;

            negativeMovieRecords = recordModel.GetRecords(categoryMovie, false);
            Assert.AreEqual(2, negativeMovieRecords.Count);
            BindingList <Record> positiveWorkRecords;

            positiveWorkRecords = recordModel.GetRecords(categoryWork, true);
            Assert.AreEqual(3, positiveWorkRecords.Count);
            BindingList <Record> negativeWorkRecords;

            negativeWorkRecords = recordModel.GetRecords(categoryWork, false);
            Assert.AreEqual(4, negativeWorkRecords.Count);
        }
示例#13
0
        public void TestSelectRecord()
        {
            EZMoneyModel            ezMoneyModel  = new EZMoneyModel();                        // TODO: 初始化為適當值
            RecordPresentationModel recordPModel  = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值
            RecordModel             recordModel   = ezMoneyModel.RecordModel;
            CategoryModel           categoryModel = ezMoneyModel.CategoryModel;

            recordPModel.InitializeState();
            Category category = new Category(CATEGORY_NAME_WORK);

            categoryModel.AddCategory(category);
            DateTime date = DateTime.Now;

            recordModel.AddRecord(date, ref category, 100);
            recordModel.AddRecord(date, ref category, -100);
            recordPModel.SelectRecord(0);
            Assert.AreEqual(0, recordPModel.RecordIndex);
            recordPModel.SelectRecord(1);
            Assert.AreEqual(1, recordPModel.RecordIndex);
            recordPModel.SelectRecord(-1);
            Assert.IsFalse(recordPModel.IsSelectionMode);
        }
示例#14
0
        public void TestAddRecordByConstructor()
        {
            CategoryModel categoryModel = new CategoryModel();
            RecordModel   recordModel   = new RecordModel(categoryModel);
            DateTime      now           = DateTime.Now;
            DateTime      date          = new DateTime(now.Year, now.Month, now.Day);
            Category      category1     = new Category(CATEGORY_NAME_MOVIE);

            recordModel.AddRecord(date, ref category1, 100);
            Assert.AreEqual(1, recordModel.Records.Count);
            Category category2 = new Category(CATEGORY_NAME_MOVIE);

            recordModel.AddRecord(date, ref category2, 100);
            Assert.AreEqual(2, recordModel.Records.Count);
            Category category3 = new Category(CATEGORY_NAME_WORK);

            recordModel.AddRecord(date, ref category3, 100);
            Assert.AreEqual(3, recordModel.Records.Count);
            Category category4 = new Category(CATEGORY_NAME_WORK);

            recordModel.AddRecord(date, ref category4, -100);
            Assert.AreEqual(4, recordModel.Records.Count);
        }
示例#15
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);
        }
示例#16
0
        public void TestCancel()
        {
            EZMoneyModel            ezMoneyModel  = new EZMoneyModel();                        // TODO: 初始化為適當值
            RecordPresentationModel recordPModel  = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值
            RecordModel             recordModel   = ezMoneyModel.RecordModel;
            CategoryModel           categoryModel = ezMoneyModel.CategoryModel;

            recordModel.Records.Clear();
            categoryModel.Categories.Clear();
            Category category = new Category(CATEGORY_NAME_MOVIE);

            categoryModel.AddCategory(category);
            DateTime date   = DateTime.Now; // TODO: 初始化為適當值
            Record   record = new Record(date, category, 100);

            recordModel.AddRecord(record);
            recordPModel.SelectRecord(0);
            Assert.AreEqual(true, recordPModel.IsSelectionMode);
            recordPModel.Cancel();
            Assert.AreEqual(false, recordPModel.IsSelectionMode);
        }
        public void TestClickDataGridView()
        {
            EZMoneyModel ezMoneyModel = new EZMoneyModel();                                            // TODO: 初始化為適當值
            StatisticPresentationModel statisticPModel = new StatisticPresentationModel(ezMoneyModel); // TODO: 初始化為適當值
            CategoryModel categoryModel = ezMoneyModel.CategoryModel;
            RecordModel   recordModel   = ezMoneyModel.RecordModel;
            Category      category1     = new Category(CATEGORY_NAME_WORK);
            Category      category2     = new Category(CATEGORY_NAME_MOVIE);

            categoryModel.AddCategory(category1);
            categoryModel.AddCategory(category2);
            DateTime date    = DateTime.Now;
            Record   record1 = new Record(date, category1, 100);
            Record   record2 = new Record(date, category1, 200);
            Record   record3 = new Record(date, category1, 300);
            Record   record4 = new Record(date, category1, 400);
            Record   record5 = new Record(date, category2, -100);
            Record   record6 = new Record(date, category2, -200);
            Record   record7 = new Record(date, category2, -300);

            recordModel.AddRecord(record1);
            recordModel.AddRecord(record2);
            recordModel.AddRecord(record3);
            recordModel.AddRecord(record4);
            recordModel.AddRecord(record5);
            recordModel.AddRecord(record6);
            recordModel.AddRecord(record7);
            statisticPModel.InitializeState();
            BindingList <Record> records = statisticPModel.ClickDataGridView(category1);

            Assert.AreEqual(4, statisticPModel.RecordList.Count);
            Assert.AreEqual(records, statisticPModel.RecordList);
            statisticPModel.ChangeRadioButton(false);
            statisticPModel.ClickDataGridView(category2);
            Assert.AreEqual(3, statisticPModel.RecordList.Count);
        }
示例#18
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);
 }
示例#19
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);
 }
示例#20
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);
 }