Beispiel #1
0
        public void TestCreateNewBill()
        {
            foreach (bool paid in new List <bool> {
                true, false
            })
            {
                MockBillReaderWriter billWriter = new MockBillReaderWriter();
                BillDetailViewModel  billDetail = new BillDetailViewModel(billWriter, null, new NavigatorViewModel());
                billDetail.Amount        = 1;
                billDetail.BillName      = "Test name";
                billDetail.BillType      = BillType.Food;
                billDetail.Description   = "Test description";
                billDetail.DueDate       = new DateTime(1990, 1, 1);
                billDetail.IsAlreadyPaid = paid;

                Assert.IsTrue(billDetail.OnRecordButtonClick.CanExecute(null));
                billDetail.OnRecordButtonClick.Execute(null);
                BillInfo actualBilLSaved = billWriter.BillSaved;

                Assert.AreEqual(actualBilLSaved.Amount, 1);
                Assert.AreEqual(actualBilLSaved.BillName, "Test name");
                Assert.AreEqual(actualBilLSaved.Type, BillType.Food);
                Assert.AreEqual(actualBilLSaved.Description, "Test description");
                Assert.AreEqual(actualBilLSaved.DueDate, new DateTime(1990, 1, 1));
                Assert.AreEqual(actualBilLSaved.IsAlreadyPaid, paid);
            }
        }
Beispiel #2
0
        public void TestBillDetailCanLoadCorrectWhenClickingOnBillOnBillSearch()
        {
            NavigatorViewModel nav = new NavigatorViewModel();

            nav.ViewNameToDisplay = Constants.BillSearchView;
            MockBillReaderWriter billReaderWriter = new MockBillReaderWriter();
            BillSearchViewModel  bs = new BillSearchViewModel(billReaderWriter, nav);

            var allBills = billReaderWriter.GetAllBills();

            bs.SelectedBill = allBills[1];
            bs.OnGridDataRowClicked.Execute(null);

            Assert.AreEqual(nav.ViewNameToDisplay, Constants.BillDetailView);
            Assert.AreEqual(nav.BillIdSelected, 2);
            Assert.IsTrue(bs.SelectedBill.SameData(new BillInfo()));
        }
Beispiel #3
0
        public void TestBillDetailStaysSameOnSaveFailure()
        {
            MockBillReaderWriter readerWriter = new MockBillReaderWriter(
                () => new List <BillInfo>(),
                (BillInfo _, out string err) =>
            {
                err = "";
                return(false);
            });

            NavigatorViewModel nav = new NavigatorViewModel();

            nav.ViewNameToDisplay = Constants.BillDetailView;
            BillDetailViewModel db = new BillDetailViewModel(readerWriter, null, nav);

            db.OnRecordButtonClick.Execute(null);
            Assert.AreEqual(nav.ViewNameToDisplay, Constants.BillDetailView);
        }
Beispiel #4
0
        public void TestBillDetailLoadWillSetBillInfo()
        {
            MockBillReaderWriter readerWriter = new MockBillReaderWriter();
            IList <BillInfo>     allBills     = readerWriter.GetAllBills();

            NavigatorViewModel nav = new NavigatorViewModel();

            nav.BillIdSelected = 2;
            BillDetailViewModel billDetail = new BillDetailViewModel(readerWriter, null, nav);

            BillInfo billInBillDetailModel = new BillInfo()
            {
                Amount        = billDetail.Amount,
                BillName      = billDetail.BillName,
                Description   = billDetail.Description,
                DueDate       = billDetail.DueDate,
                Type          = billDetail.BillType,
                IsAlreadyPaid = billDetail.IsAlreadyPaid,
                Attachement   = billDetail.Attachement
            };

            Assert.IsTrue(billInBillDetailModel.SameData(allBills[1]));
        }