public void AddCreatures_WhenValidIdentifierIsPassed_WritelinShouldBeColled() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(mockedFactory.Object, mockedLogger.Object); //var fixture = new Fixture(); // Test For abstract class //fixture.Customizations.Add( // new TypeRelay( // typeof(Creature), // typeof(Angel))); //var creature = fixture.Create<Angel>(); var creature = new Angel(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); mockedLogger.Setup(x => x.WriteLine(It.IsAny <string>())); //var identifier = fixture.Create<CreatureIdentifier>(); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); battleManager.AddCreatures(identifier, 1); mockedLogger.Verify(x => x.WriteLine(It.IsAny <string>()), Times.Once); }
public void AddCreatures_WhenValidIdentifierIsPassed_WritelineShoulbeCalled() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(mockedFactory.Object, mockedLogger.Object); var fixture = new Fixture(); fixture.Customizations.Add( new TypeRelay( typeof(Creature), typeof(Angel))); var creature = fixture.Create <Creature>(); // var creature = new Angel(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); mockedLogger.Setup(x => x.WriteLine(It.IsAny <string>())); // The code itself should be refactored. Think about sealed class to be changed or the static method itself // You could use an unconstrained Mocking framework var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); // Act battleManager.AddCreatures(identifier, 1); // Assert mockedLogger.Verify(x => x.WriteLine(It.IsAny <string>()), Times.Exactly(1)); }
public void AddCreature_WhenValidIdentifierIsPassed_WriteLineShouldBeCalled() { //Arrange var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(mockedFactory.Object, mockedLogger.Object); //var fixture = new Fixture(); //fixture.Customizations.Add( // new TypeRelay( // typeof(Creature), // typeof(Angel))); //var cerature = fixture.Create<Creature>(); var creature = new Angel(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); mockedLogger.Setup(x => x.WriteLine(It.IsAny <string>())); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); //Act battleManager.AddCreatures(identifier, 1); //Assert mockedLogger.Verify(x => x.WriteLine(It.IsAny <string>()), Times.Exactly(1)); }
public void AddCreatures_WhenValidIdentifierPassed_FactoryShouldCallCreateCreature() { //Arrange var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(mockedFactory.Object, mockedLogger.Object); // VARANT S FIXTURE - SYZDAVA INSTANCIQ NA ABSTRAKTEN KLAS ! //var fixture = new Fixture(); //fixture.Customizations.Add( // new TypeRelay( // typeof(Creature), // typeof(Angel))); // var creature = fixture.Create<Creature>(); var creature = new Angel(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); //Act battleManager.AddCreatures(identifier, 1); //Assert mockedFactory.Verify(x => x.CreateCreature(It.IsAny <string>()), Times.Exactly(1)); }
public void ThrowArgumentNullException_WhenNullCreatureIdentifierIsPassed() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var bmanager = new BattleManager(mockedFactory.Object, mockedLogger.Object); Assert.Throws <ArgumentNullException>(() => bmanager.AddCreatures(null, 1)); }
public void AddCreatures_WhenCreatureIdentifierIsNull_SHouldTHrowArgumentNull() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var manager = new BattleManager(mockedFactory.Object, mockedLogger.Object); Assert.Throws <ArgumentNullException>(() => manager.AddCreatures(null, 1)); }
public void AddCreatures_WhenValidIdentifierIsPassed_FactoryShouldCallCreateCreature() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(mockedFactory.Object, mockedLogger.Object); Assert.Throws <ArgumentNullException>(() => battleManager.AddCreatures(null, 1)); }
public void AddCreatures_ShouldThrowArgumentNullException_WhenIdentifierIsNull() { var mockFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var manager = new BattleManager(mockFactory.Object, mockedLogger.Object); Assert.That( () => manager.AddCreatures(null, 5), Throws.ArgumentNullException.With.Message.Contains("creatureIdentifier")); }
public void AddCreatures_ShouldThrowArgumentNullException_IfIdentifierIsNull() { int count = 5; var creaturesFactoryMock = new Mock <ICreaturesFactory>(); var loggerMock = new Mock <ILogger>(); var battleManager = new BattleManager(creaturesFactoryMock.Object, loggerMock.Object); Assert.Throws <ArgumentNullException>(() => battleManager.AddCreatures(null, count)); }
public void AddCreatures_ShouldThrowArgumentException_WhenInvalidArmyNumberIsProvided() { var mockedLogger = new Mock <ILogger>(); var mockFactory = new Mock <ICreaturesFactory>(); mockFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(new Angel()); var manager = new BattleManager(mockFactory.Object, mockedLogger.Object); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(3)"); Assert.Throws <ArgumentException>(() => manager.AddCreatures(identifier, 1)); }
public void AddCreatures_WhenCreatureIdentifierIsNull_ShouldThrowArgumentNullException() { // Arrange var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var battleManager = new BattleManager(null, mockedLogger.Object); // Act & Assert Assert.Throws <ArgumentNullException>(() => battleManager.AddCreatures(null, 1)); }
public void AddCreatures_ShouldCallCreateCreatureMethodOfFactory_WhenValidIdentifierIsProvided() { var mockedLogger = new Mock <ILogger>(); var mockFactory = new Mock <ICreaturesFactory>(); var manager = new BattleManager(mockFactory.Object, mockedLogger.Object); mockFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(new Angel()); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); manager.AddCreatures(identifier, 1); mockFactory.Verify(x => x.CreateCreature(It.IsAny <string>()), Times.Once); }
public void AddCreature_ShouldThrowWithCorrectMessage_WhenCreatureIdentifierParameterIsNull() { var fakeFactory = new Mock <ICreaturesFactory>(); var fakeLogger = new Mock <ILogger>(); CreatureIdentifier creatureIdentifier = null; var count = 1; var battleManager = new BattleManager(fakeFactory.Object, fakeLogger.Object); var actualException = Assert.Throws <ArgumentNullException>(() => battleManager.AddCreatures(creatureIdentifier, count)); StringAssert.Contains("creatureIdentifier", actualException.Message); }
public void CallCreateCreature_WhenValidIdentifierIsPassed() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var bmanager = new BattleManager(mockedFactory.Object, mockedLogger.Object); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); var creature = new Angel(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); bmanager.AddCreatures(identifier, 1); mockedFactory.Verify(x => x.CreateCreature(It.IsAny <string>()), Times.Exactly(1)); }
public void AddCreatures_ShouldCallCreteCreatureFromFactory_IfInputIsValid() { int count = 5; var creatureIdentifier = CreatureIdentifier.CreatureIdentifierFromString("AncientBehemoth(1)"); var creaturesFactoryMock = new Mock <ICreaturesFactory>(); var loggerMock = new Mock <ILogger>(); var battleManager = new BattleManager(creaturesFactoryMock.Object, loggerMock.Object); try { battleManager.AddCreatures(creatureIdentifier, count); } catch { } creaturesFactoryMock.Verify(x => x.CreateCreature(It.IsAny <string>()), Times.Once()); }
public void AddCreature_ShouldCallICreaturesFactoryCreateCreatureWithCorrectCreatureNameString_WhenParametersAreValid() { var expectedCreatureName = "fake"; var fakeFactory = new Mock <ICreaturesFactory>(); fakeFactory.Setup(mock => mock.CreateCreature(expectedCreatureName)).Returns(new FakeCreature()); var fakeLogger = new Mock <ILogger>(); var creatureIdentifier = CreatureIdentifier.CreatureIdentifierFromString(expectedCreatureName + "(1)"); var count = 1; var battleManager = new BattleManager(fakeFactory.Object, fakeLogger.Object); battleManager.AddCreatures(creatureIdentifier, count); fakeFactory.Verify(mock => mock.CreateCreature(expectedCreatureName), Times.Once()); }
public void AddCreatures_WhenValidIdentifierIsPassed_FactoryShouldCallCreateCreature() { var mockedFactory = new Mock <ICreaturesFactory>(); var mockedLogger = new Mock <ILogger>(); var manager = new BattleManager(mockedFactory.Object, mockedLogger.Object); var fixture = new Fixture(); fixture.Customizations.Add(new TypeRelay(typeof(Creature), typeof(Angel))); var creature = fixture.Create <Creature>(); mockedFactory.Setup(x => x.CreateCreature(It.IsAny <string>())).Returns(creature); var identifier = CreatureIdentifier.CreatureIdentifierFromString("Angel(1)"); manager.AddCreatures(identifier, 1); mockedFactory.Verify(x => x.CreateCreature(It.IsAny <string>()), Times.Exactly(1)); }
public void AddCreatures_ShouldThrowArgumentException_IfCreatureIsAddedToNonexistentArmy() { int count = 5; var creatureIdentifier = CreatureIdentifier.CreatureIdentifierFromString("AncientBehemoth(3)"); var creature = new Angel(); //var fixture = new Fixture(); //var creature = fixture.Create<Angel>(); var creaturesFactoryMock = new Mock <ICreaturesFactory>(); creaturesFactoryMock.Setup(x => x .CreateCreature(It.IsAny <string>())) .Returns(() => creature); var loggerMock = new Mock <ILogger>(); var battleManager = new BattleManager(creaturesFactoryMock.Object, loggerMock.Object); Assert.Throws <ArgumentException>(() => battleManager.AddCreatures(creatureIdentifier, count)); }
public void AddCreature_ShouldAddACreatureToFirstArmyCreatures_WhenCreatureIdentifierArmyNumberIsOne() { var creatureName = "fake"; var armyNr = "1"; var fakeFactory = new Mock <ICreaturesFactory>(); fakeFactory.Setup(moch => moch.CreateCreature(It.IsAny <string>())).Returns(new FakeCreature()); var fakeLogger = new Mock <ILogger>(); var identifier = CreatureIdentifier.CreatureIdentifierFromString(string.Format("{0}({1})", creatureName, armyNr)); var count = 1; var manager = new BattleManager(fakeFactory.Object, fakeLogger.Object); var managerPO = new MSTest.PrivateObject(manager); var firstArmy = (ICollection <ICreaturesInBattle>)managerPO.GetField("firstArmyCreatures"); manager.AddCreatures(identifier, count); Assert.AreEqual(1, firstArmy.Count); }
public void AddCreatures_ShouldCallWriteLineFromlogger_IfInputIsValid() { int count = 5; var creatureIdentifier = CreatureIdentifier.CreatureIdentifierFromString("AncientBehemoth(1)"); var creature = new Angel(); //var fixture = new Fixture(); //var creature = fixture.Create<Angel>(); var creaturesFactoryMock = new Mock <ICreaturesFactory>(); creaturesFactoryMock.Setup(x => x .CreateCreature(It.IsAny <string>())) .Returns(() => creature); var loggerMock = new Mock <ILogger>(); var battleManager = new BattleManager(creaturesFactoryMock.Object, loggerMock.Object); battleManager.AddCreatures(creatureIdentifier, count); loggerMock.Verify(x => x.WriteLine(It.IsAny <String>()), Times.Once()); }