public void AddEntity_Fail(EntityTypes type, bool IsHead) { //arrange var TargetTreeMember = CreateSampleTreeMember(type, IsHead); Mock <IDataService> DSM = new Mock <IDataService>(); Mock <IRTree <IEntity> > RTM = new Mock <IRTree <IEntity> >(); RTM.Setup(x => x.AddItem(It.IsAny <IEntity>(), IsHead)).Returns(TargetTreeMember); DSM.Setup(x => x.EntityTree).Returns(RTM.Object); Mock <IEntityFactory> EFM = new Mock <IEntityFactory>(); EFM.Setup(x => x.CreateOrganization()).Returns(CreateSampleOrganization()); EFM.Setup(x => x.CreateCharacter()).Returns(CreateSampleCharacter()); IEntityProvider EP = new EntityProvider(new EventAggregator(), DSM.Object, EFM.Object); //assert // act Assert.ThrowsException <InvalidOperationException>(() => EP.AddEntity(type, IsHead)); }
public void AddEntity_Succeed(EntityTypes type, bool IsHead) { //arrange var TargetTreeMember = CreateSampleTreeMember(type, IsHead); Mock <IDataService> DSM = new Mock <IDataService>(); Mock <IRTree <IEntity> > RTM = new Mock <IRTree <IEntity> >(); RTM.Setup(x => x.AddItem(It.IsAny <IEntity>(), IsHead)).Returns(TargetTreeMember); DSM.Setup(x => x.EntityTree).Returns(RTM.Object); Mock <IEntityFactory> EFM = new Mock <IEntityFactory>(); EFM.Setup(x => x.CreateOrganization()).Returns(CreateSampleOrganization()); EFM.Setup(x => x.CreateCharacter()).Returns(CreateSampleCharacter()); IEntityProvider EP = new EntityProvider(new EventAggregator(), DSM.Object, EFM.Object); //act var result = EP.AddEntity(type, IsHead); //assert Assert.IsNotNull(result); Assert.AreEqual(result, TargetTreeMember); RTM.Verify(x => x.AddItem(It.IsAny <IEntity>(), IsHead), Times.Exactly(1)); RTM.VerifyNoOtherCalls(); DSM.VerifyNoOtherCalls(); EFM.Verify(x => x.CreateOrganization(), Times.AtMostOnce()); EFM.Verify(x => x.CreateCharacter(), Times.AtMostOnce()); EFM.VerifyNoOtherCalls(); }