public void AllMealTypesViewModelContainsAllTypes() { var data = new MockData(); var dataRespositoryMock = CreateMockDataRepository( data.MealTypes() ); var viewModel = new AllMealTypesViewModel( dataRespositoryMock.Object ); AssertViewModelContents( viewModel, data.MealTypes() ); dataRespositoryMock.VerifyAll(); }
private void AssertViewModelContents( AllMealTypesViewModel viewModel, List<MealType> mealTypes ) { Assert.AreEqual( mealTypes.Count, viewModel.Items.Count ); foreach (var mealType in viewModel.Items) { var mealTypeFromRepository = mealTypes.Find( mt => mt.ID == mealType.ID ); Assert.IsNotNull( mealType ); Assert.AreEqual( mealTypeFromRepository.Name, mealType.Name ); } }
public void MealTypeRemovedFromViewModelWhenRemovedFromRepository() { var data = new MockData(); var dataRespositoryMock = CreateMockDataRepository( data.MealTypes() ); var viewModel = new AllMealTypesViewModel( dataRespositoryMock.Object ); var mealType = data.MealTypes().Find( mt => mt.ID == MockData.lunchID ); data.MealTypes().Remove( mealType ); dataRespositoryMock.Raise( e => e.ItemDeleted += null, new RepositoryObjectEventArgs( mealType ) ); AssertViewModelContents( viewModel, data.MealTypes() ); }
public void MealTypeModifiedInViewModelWhenChangedInRepository() { var data = new MockData(); var dataRespositoryMock = CreateMockDataRepository( data.MealTypes() ); var viewModel = new AllMealTypesViewModel( dataRespositoryMock.Object ); var mealType = data.MealTypes().Find( mt => mt.ID == MockData.lunchID ); mealType.Name += " Unit Test"; dataRespositoryMock.Raise( e => e.ItemModified += null, new RepositoryObjectEventArgs( mealType ) ); AssertViewModelContents( viewModel, data.MealTypes() ); }
public void MealTypeAddedToViewModelWhenAddedToRepository() { var data = new MockData(); var dataRespositoryMock = CreateMockDataRepository( data.MealTypes() ); var viewModel = new AllMealTypesViewModel( dataRespositoryMock.Object ); var mealType = new MealType( Guid.NewGuid(), "New Type", "For a unit test", DateTime.Now, false ); data.MealTypes().Add( mealType ); dataRespositoryMock.Raise( e => e.ItemAdded += null, new RepositoryObjectEventArgs( mealType ) ); AssertViewModelContents( viewModel, data.MealTypes() ); }
public MealViewModelBase( IDataRepository dataRepository, IRegionManager regionManager, IInteractionService interactionService, ILoggerFacade logger ) : base(dataRepository, regionManager, interactionService, logger) { _foodGroupServings = new ObservableCollection<ServingViewModel<FoodGroup>>(); FoodGroupServings = new ReadOnlyObservableCollection<ServingViewModel<FoodGroup>>( _foodGroupServings ); FoodItemServings = new ObservableCollection<ServingViewModel<FoodItem>>(); ValidFoodItems = new AllFoodItemsViewModel( dataRepository ); ValidMealTypes = new AllMealTypesViewModel( dataRepository ); _timeSetManually = false; }