public IFinalizedCombatStatistics StoreCombatStatistics(IFinalizedCombatStatistics finalizedCombatStatistics) { Guard.WhenArgument(finalizedCombatStatistics, nameof(IFinalizedCombatStatistics)).IsNull().Throw(); var combatStatisticsProjection = this.objectMapperProvider.Map <StoredCombatStatisticsViewModel>(finalizedCombatStatistics); using (var transaction = this.entityFrameworkTransactionFactory.CreateEntityFrameworkTransaction()) { this.storedCombatStatisticsDataProvider.CreateStoredCombatStatistics(combatStatisticsProjection); transaction.SaveChanges(); } return(finalizedCombatStatistics); }
public void ThrowArgumentNullException_WhenIFinalizedCombatStatisticsParameterIsNull() { // Arrange var storedCombatStatisticsDataProvider = new Mock <IStoredCombatStatisticsDataProvider>(); var businessTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>(); var objectMapperProvider = new Mock <IObjectMapperProvider>(); var combatStatisticsPersistentStorageStrategy = new CombatStatisticsPersistentStorageStrategy(storedCombatStatisticsDataProvider.Object, businessTransactionFactory.Object, objectMapperProvider.Object); IFinalizedCombatStatistics finalizedCombatStatistics = null; // Act & Assert Assert.That( () => combatStatisticsPersistentStorageStrategy.StoreCombatStatistics(finalizedCombatStatistics), Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(IFinalizedCombatStatistics))); }
private IFinalizedCombatStatistics GetDamageTakenAndDamageTakenPerSecond(ICombatStatistics combatStatistics, IFinalizedCombatStatistics finalizedCombatStatistics) { var damageTaken = combatStatistics.DamageTaken; var damageTakenPerSecond = damageTaken / finalizedCombatStatistics.CombatDurationInSeconds; finalizedCombatStatistics.DamageTaken = damageTaken; finalizedCombatStatistics.DamageTakenPerSecond = damageTakenPerSecond; return(finalizedCombatStatistics); }
private IFinalizedCombatStatistics GetHealingDoneAndHealingDonePerSecond(ICombatStatistics combatStatistics, IFinalizedCombatStatistics finalizedCombatStatistics) { var healingDone = combatStatistics.HealingDone; var healingDonePerSecond = healingDone / finalizedCombatStatistics.CombatDurationInSeconds; finalizedCombatStatistics.HealingDone = healingDone; finalizedCombatStatistics.HealingDonePerSecond = healingDonePerSecond; return(finalizedCombatStatistics); }
private IFinalizedCombatStatistics GetDamageDoneAndDamageDonePerSecond(ICombatStatistics combatStatistics, IFinalizedCombatStatistics finalizedCombatStatistics) { var damageDone = combatStatistics.DamageDone; var damageDonePerSecond = damageDone / finalizedCombatStatistics.CombatDurationInSeconds; finalizedCombatStatistics.DamageDone = damageDone; finalizedCombatStatistics.DamageDonePerSecond = damageDonePerSecond; return(finalizedCombatStatistics); }