public void ProcessWaste_SomeWaste_ThrowsException() { var holder = new StrategyHolder(); var garbage = new GarbageProcessor(holder); var waste = new StorableWaste("NuclearWaste", 10, 10); Assert.That(() => garbage.ProcessWaste(waste), Throws.ArgumentException); }
public void ProcessWaste_StorableWaste_Success() { var garbage = new StorableWaste("NuclearWaste", 10, 10); var result = this.garbageProcessor.ProcessWaste(garbage); Assert.That(result.CapitalBalance, Is.EqualTo(-65)); Assert.That(result.EnergyBalance, Is.EqualTo(-13)); }
public void ProcessWaste_ShouldThrowArgumentException() { // Arrange var garbage = new StorableWaste("glass", 10.5, 1.2); var strategyHolder = new StrategyHolder(); var garbageProcessor = new GarbageProcessor(strategyHolder); // Act and Assert garbageProcessor.ProcessWaste(garbage); }
public void ProcessWaste_ShouldReturnValidCurrentStrategy() { // Arrange var garbage = new StorableWaste("glass", 10.5, 1.2); var strategyHolder = new StrategyHolder(); var garbageProcessor = new GarbageProcessor(strategyHolder); Type type = garbage.GetType(); DisposableAttribute disposalAttribute = (DisposableAttribute)type.GetCustomAttributes(true).FirstOrDefault(x => x.GetType() == typeof(DisposableAttribute)); IGarbageDisposalStrategy currentStrategy = new BurnableDisposalStrategy(); var expectedResult = currentStrategy.ProcessGarbage(garbage); // Act var actualResult = garbageProcessor.ProcessWaste(garbage); // Assert Assert.AreEqual(expectedResult, actualResult); }