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); }
public void TestModify() { 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: 初始化為適當值 int categoryIndex = 0; // TODO: 初始化為適當值 string amount = string.Empty; // TODO: 初始化為適當值 const string NEW_AMOUNT = "100"; recordPModel.Add(date, categoryIndex, amount); Assert.AreEqual(1, recordModel.Records.Count); recordPModel.Modify(date, 0, NEW_AMOUNT); Assert.AreEqual(1, recordModel.Records.Count); Assert.AreEqual(NEW_AMOUNT, recordModel.Records[0].Amount.ToString()); recordPModel.IsIncomeCheck = false; recordPModel.IsExpenseCheck = true; recordPModel.Modify(date, 0, NEW_AMOUNT); Assert.AreEqual(1, recordModel.Records.Count); Assert.AreEqual("-" + NEW_AMOUNT, recordModel.Records[0].Amount.ToString()); }
public void TestSelectCategory() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 RecordModel recordModel = ezMoneyModel.RecordModel; CategoryModel categoryModel = ezMoneyModel.CategoryModel; recordPModel.InitializeState(); categoryModel.AddCategory(CATEGORY_NAME_WORK); recordPModel.SelectCategory(0); Assert.AreEqual(0, recordPModel.CategoryIndex); }
public void TestChangeIncomeCheck() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 RecordModel recordModel = ezMoneyModel.RecordModel; CategoryModel categoryModel = ezMoneyModel.CategoryModel; recordPModel.InitializeState(); Assert.AreEqual(true, recordPModel.IsIncomeCheck); recordPModel.ChangeIncomeCheck(false); Assert.AreEqual(false, recordPModel.IsIncomeCheck); }
public void TestInitializeState() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 RecordModel recordModel = ezMoneyModel.RecordModel; CategoryModel categoryModel = ezMoneyModel.CategoryModel; recordPModel.InitializeState(); Assert.AreEqual(false, recordPModel.IsSelectionMode); Assert.AreEqual(false, recordPModel.IsModifyEnable); Assert.AreEqual(false, recordPModel.IsDeleteEnable); Assert.AreEqual(false, recordPModel.IsCancelEnable); }
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 TestSetErrorProvider() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 ezMoneyModel.GetCategories().Clear(); ezMoneyModel.GetRecords().Clear(); RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 Category category = new Category(CATEGORY_NAME_WORK); ezMoneyModel.AddCategory(category); recordPModel.InitializeState(); const String FIFTY = "50"; recordPModel.ChangeAmount(FIFTY); recordPModel.SetErrorProvider(); Assert.AreEqual(RecordPresentationModel.NO_SELECT_CATEGORY_INFO, recordPModel.ErrorProviderMessage); recordPModel.SelectCategory(0); Assert.AreEqual(RecordPresentationModel.EMPTY_ERROR_MESSAGE, recordPModel.ErrorProviderMessage); }
public void TestAdd() { 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: 初始化為適當值 int categoryIndex = 0; // TODO: 初始化為適當值 string amount = string.Empty; // TODO: 初始化為適當值 Assert.AreEqual(0, recordModel.Records.Count); recordPModel.Add(date, categoryIndex, amount); Assert.AreEqual(1, recordModel.Records.Count); recordPModel.IsIncomeCheck = false; recordPModel.IsExpenseCheck = true; recordPModel.Add(date, categoryIndex, amount); Assert.AreEqual(2, recordModel.Records.Count); }
public void TestIsValidRecordAdd() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 RecordModel recordModel = ezMoneyModel.RecordModel; CategoryModel categoryModel = ezMoneyModel.CategoryModel; recordPModel.InitializeState(); const string AMOUNT = "100"; const string NOT_NUMBER = "A"; string errorMessage = string.Empty; Category category = new Category(CATEGORY_NAME_MOVIE); categoryModel.AddCategory(category); Assert.IsFalse(recordPModel.IsValidRecordAdd(-1, AMOUNT, ref errorMessage)); Assert.AreEqual(RecordPresentationModel.NO_SELECT_CATEGORY_INFO, errorMessage); Assert.IsTrue(recordPModel.IsValidRecordAdd(0, AMOUNT, ref errorMessage)); Assert.AreEqual(RecordPresentationModel.EMPTY_ERROR_MESSAGE, errorMessage); Assert.IsFalse(recordPModel.IsValidRecordAdd(0, NOT_NUMBER, ref errorMessage)); Assert.AreEqual(RecordPresentationModel.TEXT_IS_NOT_NUMBER_INFO, errorMessage); }
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); }
public void TestDelete() { 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: 初始化為適當值 int categoryIndex = 0; // TODO: 初始化為適當值 string amount = string.Empty; // TODO: 初始化為適當值 recordPModel.Add(date, categoryIndex, amount); Assert.AreEqual(1, recordModel.Records.Count); recordPModel.Delete(DialogResult.No); Assert.AreEqual(1, recordModel.Records.Count); recordPModel.Delete(DialogResult.Yes); Assert.AreEqual(0, recordModel.Records.Count); }
public void TestRaiseUpdateEvent() { EZMoneyModel ezMoneyModel = new EZMoneyModel(); // TODO: 初始化為適當值 ezMoneyModel.GetCategories().Clear(); ezMoneyModel.GetRecords().Clear(); RecordPresentationModel recordPModel = new RecordPresentationModel(ezMoneyModel); // TODO: 初始化為適當值 int raiseCount = 0; recordPModel._updateEvent += delegate(RecordPresentationModel localRecordPModel) { raiseCount++; }; DateTime date = DateTime.Now; Category category = new Category(CATEGORY_NAME_MOVIE); ezMoneyModel.AddCategory(category); const String FIFTY = "50"; recordPModel.Add(date, 0, FIFTY); Assert.AreEqual(1, raiseCount); recordPModel.Cancel(); Assert.AreEqual(2, raiseCount); }
//form load event private void LoadFormView(object sender, EventArgs e) { _ezMoneyModel = new EZMoneyModel(); _categoryPModel = new CategoryPresentationModel(_ezMoneyModel); _recordPModel = new RecordPresentationModel(_ezMoneyModel); _statisticPModel = new StatisticPresentationModel(_ezMoneyModel); InitCategoryView(); InitRecordView(); InitStatisticView(); }
//refresh record view void RefreshRecordView(RecordPresentationModel recordPModel) { _dateTimePickerRecord.Value = _recordPModel.RecordDate; _comboBoxCategory.SelectedIndex = _recordPModel.CategoryIndex; _textBoxRecordAmount.Text = _recordPModel.Amount; _buttonRecordAdd.Enabled = _recordPModel.IsAddEnable; _buttonRecordModify.Enabled = _recordPModel.IsModifyEnable; _buttonRecordModify.Visible = _recordPModel.IsModifyEnable; _buttonRecordDelete.Enabled = _recordPModel.IsDeleteEnable; _buttonRecordDelete.Visible = _recordPModel.IsDeleteEnable; _buttonRecordCancel.Enabled = _recordPModel.IsCancelEnable; _buttonRecordCancel.Visible = _recordPModel.IsCancelEnable; _radioButtonIncome.Checked = _recordPModel.IsIncomeCheck; _radioButtonExpense.Checked = _recordPModel.IsExpenseCheck; _errorProviderRecord.SetError(_buttonRecordAdd, _recordPModel.ErrorProviderMessage); //if you want to visible/unvisible modification function, uncomment under line. //_tableLayoutPanelRecord.RowStyles[2].Height = _recordPModel.IsSelectionMode ? 40 : 0; }