public void TestSaveCommand()
        {
            Car car = new Car() { CarId = 1, Color = "White", Description = "Kia Optima", Year = 2013, RentalPrice = 149.00M };

            Mock<IServiceFactory> mockServiceFactory = new Mock<IServiceFactory>();

            EditCarViewModel viewModel = new EditCarViewModel(mockServiceFactory.Object, car);

            mockServiceFactory.Setup(mock => mock.CreateClient<IInventoryService>().UpdateCar(It.IsAny<Car>())).Returns(viewModel.Car);

            viewModel.Car.Color = "Black";

            bool carUpdated = false;
            string color = string.Empty;
            viewModel.CarUpdated += (s, e) =>
            {
                carUpdated = true;
                color = e.Car.Color;
            };

            viewModel.SaveCommand.Execute(null);

            Assert.IsTrue(carUpdated);
            Assert.IsTrue(color == "Black");
        }
예제 #2
0
        private void OnAddCarCommand(object obj)
        {
            Car car = new Car();

            CurrentCarViewModel                = new EditCarViewModel(_ServiceFactory, car);
            CurrentCarViewModel.CarUpdated    += CurrentCarViewModel_CarUpdated;
            CurrentCarViewModel.CancelEditCar += CurrentCarViewModel_CancelEditCar;
        }
예제 #3
0
 private void OnEditCarCommand(Car car)
 {
     if (car != null)
     {
         CurrentCarViewModel                = new EditCarViewModel(_ServiceFactory, car);
         CurrentCarViewModel.CarUpdated    += CurrentCarViewModel_CarUpdated;
         CurrentCarViewModel.CancelEditCar += CurrentCarViewModel_CancelEditCar;
     }
 }
        public void TestCarIsValid()
        {
            Car car = new Car() { CarId = 1, Color = "White", Description = "Kia Optima", Year = 2013 };

            Mock<IServiceFactory> mockServiceFactory = new Mock<IServiceFactory>();

            EditCarViewModel viewModel = new EditCarViewModel(mockServiceFactory.Object, car);

            Assert.IsTrue(!viewModel.Car.IsValid);

            viewModel.Car.RentalPrice = 149;

            Assert.IsTrue(viewModel.Car.IsValid);
        }
        public void TestCanSaveCommand()
        {
            Car car = new Car() { CarId = 1, Color = "White", Description = "Kia Optima", Year = 2013, RentalPrice = 149 };

            Mock<IServiceFactory> mockServiceFactory = new Mock<IServiceFactory>();

            EditCarViewModel viewModel = new EditCarViewModel(mockServiceFactory.Object, car);

            Assert.IsFalse(viewModel.SaveCommand.CanExecute(null));

            viewModel.Car.Color = "Black";

            Assert.IsTrue(viewModel.SaveCommand.CanExecute(null));
        }
예제 #6
0
 private void CurrentCarViewModel_CarUpdated(object sender, CarEventArgs e)
 {
     if (e.IsNew)
     {
         Car car = _Cars.Where(item => item.CarId == e.Car.CarId).FirstOrDefault();
         if (car != null)
         {
             car.Description = e.Car.Description;
             car.Color       = e.Car.Color;
             car.Year        = e.Car.Year;
             car.RentalPrice = e.Car.RentalPrice;
         }
     }
     else
     {
         _Cars.Add(e.Car);
     }
     CurrentCarViewModel = null;
 }
        public void TestCancelCommand()
        {
            Car car = new Car() { CarId = 1, Color = "White" };

            Mock<IServiceFactory> mockServiceFactory = new Mock<IServiceFactory>();

            EditCarViewModel viewModel = new EditCarViewModel(mockServiceFactory.Object, car);

            bool canceled = false;
            viewModel.CancelEditCar += (s, e) => canceled = true;

            Assert.IsTrue(!canceled);

            viewModel.CancelCommand.Execute(null);

            Assert.IsTrue(viewModel.CancelCommand.CanExecute(null));

            Assert.IsTrue(canceled);
        }
예제 #8
0
 private void OnEditCarCommand(Car car)
 {
     if (car != null)
     {
         CurrentCarViewModel = new EditCarViewModel(_ServiceFactory, car);
         CurrentCarViewModel.CarUpdated += CurrentCarViewModel_CarUpdated;
         CurrentCarViewModel.CancelEditCar += CurrentCarViewModel_CancelEditCar;
     }
 }
예제 #9
0
        private void OnAddCarCommand(object arg)
        {
            Car car = new Car();

            CurrentCarViewModel = new EditCarViewModel(_ServiceFactory, car);
            CurrentCarViewModel.CarUpdated += CurrentCarViewModel_CarUpdated;
            CurrentCarViewModel.CancelEditCar += CurrentCarViewModel_CancelEditCar;
        }
예제 #10
0
 private void CurrentCarViewModel_CancelEditCar(object sender, EventArgs e)
 {
     CurrentCarViewModel = null;
 }
        public void TestViewModelConstruction()
        {
            Car car = new Car() { CarId = 1, Color = "White" };

            Mock<IServiceFactory> mockServiceFactory = new Mock<IServiceFactory>();

            EditCarViewModel viewModel = new EditCarViewModel(mockServiceFactory.Object, car);

            Assert.IsTrue(viewModel.Car != null && viewModel.Car != car);
            Assert.IsTrue(viewModel.Car.CarId == car.CarId && viewModel.Car.Color == car.Color);
        }