Beispiel #1
0
        public void ConventionDoesNotSetProxyOnUnproxiedSubclass()
        {
            ProxyConvention convention = GetConvention();

            var classInstance = A.Fake <ISubclassInstance>();

            A.CallTo(() => classInstance.EntityType).Returns(typeof(NotProxied));

            convention.Apply(classInstance);

            A.CallTo(() => classInstance.Proxy(A <Type> ._)).MustNotHaveHappened();
        }
        public void ConventionDoesNotSetProxyOnUnproxiedSubclass()
        {
            ProxyConvention convention = GetConvention();

            var classInstance = MockRepository.GenerateMock <ISubclassInstance>();

            classInstance.Stub(x => x.EntityType)
            .Return(typeof(NotProxied));

            convention.Apply(classInstance);

            classInstance.AssertWasNotCalled(x => x.Proxy(Arg <Type> .Is.Anything));
        }
        public void ConventionSetsProxyOnProxiedSubclass()
        {
            ProxyConvention convention = GetConvention();

            var classInstance = MockRepository.GenerateMock <ISubclassInstance>();

            classInstance.Expect(x => x.EntityType)
            .Return(typeof(ProxiedObject));

            convention.Apply(classInstance);

            classInstance.AssertWasCalled(x => x.Proxy(typeof(IProxiedObject)));
        }
        public void ConventionDoesNotSetOneToOneTypeIfUnrecognised()
        {
            ProxyConvention convention = GetConvention();

            var oneToOneInstance = MockRepository.GenerateMock <IOneToOneInstance>();

            oneToOneInstance.Stub(x => ((IOneToOneInspector)x).Class)
            .Return(new TypeReference(typeof(NotProxied)));

            convention.Apply(oneToOneInstance);

            oneToOneInstance.AssertWasNotCalled(x => x.OverrideInferredClass(typeof(ProxiedObject)));
        }
        public void ConventionSetsProxiedOneToOneTypeToConcreteType()
        {
            ProxyConvention convention = GetConvention();

            var oneToOneInstance = MockRepository.GenerateMock <IOneToOneInstance>();

            oneToOneInstance.Stub(x => ((IOneToOneInspector)x).Class)
            .Return(new TypeReference(typeof(IProxiedObject)));

            convention.Apply(oneToOneInstance);

            oneToOneInstance.AssertWasCalled(x => x.OverrideInferredClass(typeof(ProxiedObject)));
        }
Beispiel #6
0
        public void ConventionSetsProxyOnProxiedSubclass()
        {
            ProxyConvention convention = GetConvention();

            var classInstance = A.Fake <ISubclassInstance>();

            A.CallTo(() => classInstance.EntityType).Returns(typeof(ProxiedObject));

            convention.Apply(classInstance);

            A.CallTo(() => classInstance.Proxy(typeof(IProxiedObject)))
            .MustHaveHappened();
        }
Beispiel #7
0
        public void ConventionDoesNotSetManyToOneTypeIfUnrecognised()
        {
            ProxyConvention convention = GetConvention();

            var manyToOneInstance = A.Fake <IManyToOneInstance>();

            A.CallTo(() => manyToOneInstance.Class).Returns(new TypeReference(typeof(NotProxied)));

            convention.Apply(manyToOneInstance);

            A.CallTo(() => manyToOneInstance.OverrideInferredClass(typeof(ProxiedObject)))
            .MustNotHaveHappened();
        }
Beispiel #8
0
        public void ConventionSetsProxiedManyToOneTypeToConcreteType()
        {
            ProxyConvention convention = GetConvention();

            var manyToOneInstance = A.Fake <IManyToOneInstance>();

            A.CallTo(() => manyToOneInstance.Class).Returns(new TypeReference(typeof(IProxiedObject)));

            convention.Apply(manyToOneInstance);

            A.CallTo(() => manyToOneInstance.OverrideInferredClass(typeof(ProxiedObject)))
            .MustHaveHappened();
        }
Beispiel #9
0
        public void ConventionDoesNotSetCollectionChildTypeIfUnrecognised()
        {
            ProxyConvention convention = GetConvention();

            var collectionInstance = A.Fake <ICollectionInstance>();
            var relationship       = A.Fake <IRelationshipInstance>();

            A.CallTo(() => collectionInstance.Relationship).Returns(relationship);
            A.CallTo(() => relationship.Class).Returns(new TypeReference(typeof(NotProxied)));

            convention.Apply(collectionInstance);

            A.CallTo(() => relationship.CustomClass(A <Type> ._))
            .MustNotHaveHappened();
        }
Beispiel #10
0
        public void ConventionSetsProxiedCollectionChildTypeToConcreteType()
        {
            ProxyConvention convention = GetConvention();

            var collectionInstance = A.Fake <ICollectionInstance>();
            var relationship       = A.Fake <IRelationshipInstance>();

            A.CallTo(() => collectionInstance.Relationship).Returns(relationship);
            A.CallTo(() => relationship.Class).Returns(new TypeReference(typeof(IProxiedObject)));

            convention.Apply(collectionInstance);

            A.CallTo(() => relationship.CustomClass(typeof(ProxiedObject)))
            .MustHaveHappened();
        }
        public void ConventionDoesNotSetCollectionChildTypeIfUnrecognised()
        {
            ProxyConvention convention = GetConvention();

            var collectionInstance = MockRepository.GenerateMock <ICollectionInstance>();
            var relationship       = MockRepository.GenerateMock <IRelationshipInstance>();

            collectionInstance.Stub(x => x.Relationship)
            .Return(relationship);
            relationship.Stub(x => x.Class)
            .Return(new TypeReference(typeof(NotProxied)));

            convention.Apply(collectionInstance);

            relationship.AssertWasNotCalled(x => x.CustomClass(Arg <Type> .Is.Anything));
        }
        public void ConventionSetsProxiedCollectionChildTypeToConcreteType()
        {
            ProxyConvention convention = GetConvention();

            var collectionInstance = MockRepository.GenerateMock <ICollectionInstance>();
            var relationship       = MockRepository.GenerateMock <IRelationshipInstance>();

            collectionInstance.Stub(x => x.Relationship)
            .Return(relationship);
            relationship.Stub(x => x.Class)
            .Return(new TypeReference(typeof(IProxiedObject)));

            convention.Apply(collectionInstance);

            relationship.AssertWasCalled(x => x.CustomClass(typeof(ProxiedObject)));
        }