Beispiel #1
0
        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));
        }
Beispiel #2
0
        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();
        }