public void ReturnCorrectIFinalizedCombatStatisticsInstance() { // Arrange var storedCombatStatisticsDataProvider = new Mock <IStoredCombatStatisticsDataProvider>(); var businessTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var businessTransaction = new Mock <IEntityFrameworkTransaction>(); businessTransactionFactory.Setup(f => f.CreateEntityFrameworkTransaction()).Returns(businessTransaction.Object); var storedCombatStatisticsProjection = new StoredCombatStatisticsViewModel(); objectMapperProvider.Setup(p => p.Map <StoredCombatStatisticsViewModel>(It.IsAny <IFinalizedCombatStatistics>())).Returns(storedCombatStatisticsProjection); var combatStatisticsPersistentStorageStrategy = new CombatStatisticsPersistentStorageStrategy(storedCombatStatisticsDataProvider.Object, businessTransactionFactory.Object, objectMapperProvider.Object); var finalizedCombatStatistics = new Mock <IFinalizedCombatStatistics>(); var expectedReturnedIFinalizedCombatStatisticsInstance = finalizedCombatStatistics.Object; // Act var actualReturnedIFinalizedCombatStatisticsInstance = combatStatisticsPersistentStorageStrategy.StoreCombatStatistics(finalizedCombatStatistics.Object); // Assert Assert.That(actualReturnedIFinalizedCombatStatisticsInstance, Is.SameAs(expectedReturnedIFinalizedCombatStatisticsInstance)); }
public void InvokeIStoredCombatStatisticsDataProvider_CreateOnceWithCorrectParameter() { // Arrange var storedCombatStatisticsDataProvider = new Mock <IStoredCombatStatisticsDataProvider>(); var businessTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var businessTransaction = new Mock <IEntityFrameworkTransaction>(); businessTransactionFactory.Setup(f => f.CreateEntityFrameworkTransaction()).Returns(businessTransaction.Object); var storedCombatStatisticsProjection = new StoredCombatStatisticsViewModel(); objectMapperProvider.Setup(p => p.Map <StoredCombatStatisticsViewModel>(It.IsAny <IFinalizedCombatStatistics>())).Returns(storedCombatStatisticsProjection); var combatStatisticsPersistentStorageStrategy = new CombatStatisticsPersistentStorageStrategy(storedCombatStatisticsDataProvider.Object, businessTransactionFactory.Object, objectMapperProvider.Object); var finalizedCombatStatistics = new Mock <IFinalizedCombatStatistics>(); // Act combatStatisticsPersistentStorageStrategy.StoreCombatStatistics(finalizedCombatStatistics.Object); // Assert storedCombatStatisticsDataProvider.Verify(r => r.CreateStoredCombatStatistics(storedCombatStatisticsProjection), Times.Once); }
public StoredCombatStatisticsViewModel Create(StoredCombatStatisticsViewModel projection) { Guard.WhenArgument(projection, nameof(StoredCombatStatisticsViewModel)).IsNull().Throw(); var storedCombatStatistics = this.objectMapperProvider.Map <StoredCombatStatistics>(projection); this.storedCombatStatisticsRepository.Create(storedCombatStatistics); return(projection); }
public StoredCombatStatisticsViewModel CreateStoredCombatStatistics(StoredCombatStatisticsViewModel model) { Guard.WhenArgument(model, nameof(StoredCombatStatisticsViewModel)).IsNull().Throw(); var storedCombatStatistics = this.objectMapperProvider.Map <StoredCombatStatistics>(model); var dbStoredCombatStatistics = this.storedCombatStatisticsEntityFrameworkRepository.Create(storedCombatStatistics); var viewModel = this.objectMapperProvider.Map <StoredCombatStatisticsViewModel>(dbStoredCombatStatistics); return(viewModel); }
public void ThrowArgumentNullException_WhenStoredCombatStatisticsProjectionParameterIsNull() { // Arrange var storedCombatStatisticsRepository = new Mock <IStoredCombatStatisticsRepository>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsProjectionRepository = new StoredCombatStatisticsProjectionRepository(storedCombatStatisticsRepository.Object, objectMapperProvider.Object); StoredCombatStatisticsViewModel storedCombatStatisticsProjection = null; // Act & Assert Assert.That( () => storedCombatStatisticsProjectionRepository.Create(storedCombatStatisticsProjection), Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(StoredCombatStatisticsViewModel))); }
public void ThrowArgumentNullException_WhenStoredCombatStatisticsViewModelParameterIsNull() { // Arrange var storedCombatStatisticsEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <StoredCombatStatistics> >(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsDataProvider = new StoredCombatStatisticsDataProvider(storedCombatStatisticsEntityFrameworkRepository.Object, objectMapperProvider.Object); StoredCombatStatisticsViewModel model = null; // Act & Assert Assert.That( () => storedCombatStatisticsDataProvider.CreateStoredCombatStatistics(model), Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(StoredCombatStatisticsViewModel))); }
public void ReturnsCorrectStoredCombatStatisticsProjectionInstance() { // Arrange var storedCombatStatisticsRepository = new Mock <IStoredCombatStatisticsRepository>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsProjectionRepository = new StoredCombatStatisticsProjectionRepository(storedCombatStatisticsRepository.Object, objectMapperProvider.Object); var storedCombatStatisticsProjection = new StoredCombatStatisticsViewModel(); // Act var actualReturnedStoredCombatStatisticsProjectionInstance = storedCombatStatisticsProjectionRepository.Create(storedCombatStatisticsProjection); // Assert Assert.That(actualReturnedStoredCombatStatisticsProjectionInstance, Is.SameAs(storedCombatStatisticsProjection)); }
public void InvokeIObjectMapperProvider_MapMethodOnceWithCorrectParameters() { // Arrange var storedCombatStatisticsRepository = new Mock <IStoredCombatStatisticsRepository>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsProjectionRepository = new StoredCombatStatisticsProjectionRepository(storedCombatStatisticsRepository.Object, objectMapperProvider.Object); var storedCombatStatisticsProjection = new StoredCombatStatisticsViewModel(); // Act storedCombatStatisticsProjectionRepository.Create(storedCombatStatisticsProjection); // Assert objectMapperProvider.Verify(p => p.Map <StoredCombatStatistics>(storedCombatStatisticsProjection), Times.Once); }
public void InvokeIObjectMapperProvider_MapStoredCombatStatisticsOnceWithCorrectParameter() { // Arrange var storedCombatStatisticsEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <StoredCombatStatistics> >(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsDataProvider = new StoredCombatStatisticsDataProvider(storedCombatStatisticsEntityFrameworkRepository.Object, objectMapperProvider.Object); var model = new StoredCombatStatisticsViewModel(); // Act storedCombatStatisticsDataProvider.CreateStoredCombatStatistics(model); // Assert objectMapperProvider.Verify(p => p.Map <StoredCombatStatistics>(model), Times.Once); }
public void InvokeIStoredCombatStatisticsRepository_CreateMethodOnceWithCorrectParameter() { // Arrange var storedCombatStatisticsRepository = new Mock <IStoredCombatStatisticsRepository>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsProjectionRepository = new StoredCombatStatisticsProjectionRepository(storedCombatStatisticsRepository.Object, objectMapperProvider.Object); var storedCombatStatisticsProjection = new StoredCombatStatisticsViewModel(); var storedCombatStatistics = new StoredCombatStatistics(); objectMapperProvider.Setup(p => p.Map <StoredCombatStatistics>(It.IsAny <StoredCombatStatisticsViewModel>())).Returns(storedCombatStatistics); // Act storedCombatStatisticsProjectionRepository.Create(storedCombatStatisticsProjection); // Assert storedCombatStatisticsRepository.Verify(r => r.Create(storedCombatStatistics), Times.Once); }
public void ReturnCorrectStoredCombatStatisticsViewModelInstance() { // Arrange var storedCombatStatisticsEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <StoredCombatStatistics> >(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var storedCombatStatisticsDataProvider = new StoredCombatStatisticsDataProvider(storedCombatStatisticsEntityFrameworkRepository.Object, objectMapperProvider.Object); var model = new StoredCombatStatisticsViewModel(); var expectedReturnedStoredCombatStatisticsViewModelInstance = new StoredCombatStatisticsViewModel(); objectMapperProvider.Setup(p => p.Map <StoredCombatStatisticsViewModel>(It.IsAny <StoredCombatStatistics>())).Returns(expectedReturnedStoredCombatStatisticsViewModelInstance); // Act var actualReturnedStoredCombatStatisticsViewModelInstance = storedCombatStatisticsDataProvider.CreateStoredCombatStatistics(model); // Assert Assert.That(actualReturnedStoredCombatStatisticsViewModelInstance, Is.SameAs(expectedReturnedStoredCombatStatisticsViewModelInstance)); }