Ejemplo n.º 1
0
    public void CloneReturnsEqualEntityType()
    {
        EntityType et1 = new EntityType("CHARACTER");
        EntityType et2 = et1.Clone();

        Assert.AreEqual(et1, et2);
    }
        public void BuildEntityMemberRequest(bool cached, bool useDifferentEntity)
        {
            var readPerm = new[] { Permissions.Read };

            MockRepository mockRepository;
            Mock <IEntityMemberRequestFactory> mockEntityMemberRequestFactory;
            EntityType          entityType;
            EntityMemberRequest entityMemberRequest;
            CachingEntityMemberRequestFactory cachingEntityMemberRequestFactory;

            entityType          = new EntityType();
            entityMemberRequest = new EntityMemberRequest();

            mockRepository = new MockRepository(MockBehavior.Strict);
            mockEntityMemberRequestFactory = mockRepository.Create <IEntityMemberRequestFactory>();
            mockEntityMemberRequestFactory
            .Setup(emrf => emrf.BuildEntityMemberRequest(entityType, readPerm))
            .Returns(() => entityMemberRequest);

            cachingEntityMemberRequestFactory = new CachingEntityMemberRequestFactory(
                mockEntityMemberRequestFactory.Object);
            Assert.That(cachingEntityMemberRequestFactory.BuildEntityMemberRequest(entityType, readPerm),
                        Is.EqualTo(entityMemberRequest));
            if (cached)
            {
                Assert.That(cachingEntityMemberRequestFactory.BuildEntityMemberRequest(entityType, readPerm),
                            Is.EqualTo(entityMemberRequest));
            }
            Assert.That(cachingEntityMemberRequestFactory.Cache,
                        Has.Count.EqualTo(1).And.Exactly(1).Property("Key").EqualTo(entityType.Id).And.Property("Value").EqualTo(entityMemberRequest));

            mockEntityMemberRequestFactory.Verify(emrf => emrf.BuildEntityMemberRequest(entityType, readPerm), Times.Once());

            if (useDifferentEntity)
            {
                entityType = entityType.Clone(CloneOption.Shallow).As <EntityType>( );
                mockEntityMemberRequestFactory.Verify(emrf => emrf.BuildEntityMemberRequest(entityType, readPerm), Times.Never( ));
            }

            mockRepository.VerifyAll();
        }