コード例 #1
0
        public void OutTime_Defaults_ToNow()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel();

            Assert.That(viewModel.LeaveTimeStr, Is.EqualTo(DateTime.Now.ToString("HHmm")));
            Assert.That(viewModel.LeaveDateStr, Is.EqualTo(DateTime.Now.ToString("ddMMyyyy")));
        }
コード例 #2
0
        public void GivenAString_LeaveTime_IGet_TheExpected_StringRepresentation()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel()
            {
                LeaveTimeStr = "0615",
                LeaveDateStr = "12122019"
            };

            Assert.AreEqual("12/12/2019 06:15", viewModel.LeaveDateTimeStr);
        }
コード例 #3
0
        public void GivenAString_AsLeaveTime_IfItIs_InTheRightFormat_Then_NoErrorIsSignaled()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel()
            {
                LeaveTimeStr = "0615",
                LeaveDateStr = "12122019"
            };

            Assert.AreEqual(ParkRateViewModel.HelpColor, viewModel.LeaveTimeColor);
        }
コード例 #4
0
        public void GivenAString_AsLeaveTime_CouldNotBe_InTheRightFormat()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel()
            {
                LeaveTimeStr = "banana",
                LeaveDateStr = "12122019"
            };

            Assert.AreEqual(Brushes.Red, viewModel.LeaveTimeColor);
        }
コード例 #5
0
        public void GivenAString_AsArrivalTime_CouldNotBe_InTheRightFormat()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel()
            {
                ArrivalTimeStr = "banana",
                ArrivalDateStr = "12122019"
            };

            Assert.AreEqual(Brushes.Red, viewModel.ArrivalTimeColor);
            Assert.AreEqual("€ 0.00", viewModel.RateValue);
        }
コード例 #6
0
        public void OnInit_Arrival_IsSetToNow_AndLeave_IsSetTo_NowMinusSlackTime()
        {
            ParkRateViewModel viewModel            = new ParkRateViewModel();
            DateTime          expectedDefaultLeave = DateTime.Now;

            expectedDefaultLeave = new DateTime(expectedDefaultLeave.Year, expectedDefaultLeave.Month, expectedDefaultLeave.Day, expectedDefaultLeave.Hour, expectedDefaultLeave.Minute, 0);
            DateTime expectedDefaultArrival = expectedDefaultLeave - TimeSpan.FromMinutes(viewModel.SlackTime);

            Assert.That(viewModel.ArrivalDateTime, Is.EqualTo(expectedDefaultArrival).Within(TimeSpan.FromSeconds(2)), "Arrival Time");
            Assert.That(viewModel.LeaveDateTime, Is.EqualTo(expectedDefaultLeave).Within(TimeSpan.FromSeconds(2)), "Leave Time");
        }
コード例 #7
0
        public void CantSet_Negative_OrInvalidValues_InOptions()
        {
            ParkRateViewModel viewModel = new ParkRateViewModel()
            {
                SlackTime        = -1,
                PayEveryMinutes  = 0,
                PayAmountPerHour = -1
            };

            Assert.AreEqual(viewModel.SlackTime, 0);
            Assert.AreEqual(viewModel.PayEveryMinutes, 1);
            Assert.AreEqual(viewModel.PayAmountPerHour, 0);
        }
コード例 #8
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ArrivalTimeTxt.Focus();
            ArrivalTimeTxt.CaretIndex = ArrivalTimeTxt.Text.Length;

            const string      configFilePath = @"config.xml";
            ParkRateViewModel viewModel      = (ParkRateViewModel)DataContext;

            viewModel.ConfigFilePath = configFilePath;
            if (File.Exists(configFilePath))
            {
                viewModel.UpdateWithConfig(ParkRateConfig.FromXml(viewModel.ConfigFilePath));
            }
        }
コード例 #9
0
        public void Given_HourOfArrival_IExpect_ARateAmount(
            string arrivalDate,
            string arrivalTime,
            string outDate,
            string outTime,
            string expectedRate)
        {
            ParkRateViewModel viewModel = new ParkRateViewModel
            {
                ArrivalDateStr = arrivalDate,
                ArrivalTimeStr = arrivalTime,
                LeaveDateStr   = outDate,
                LeaveTimeStr   = outTime
            };

            Assert.AreEqual(expectedRate, viewModel.RateValue);
        }