public void InvokePropertyRef()
        {
            var propertyPath = new PropertyPath(null, ForClass<MyClass>.Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer = new CollectionKeyCustomizer<MyClass>(propertyPath, customizersHolder);
            var collectionMapper = new Mock<ISetPropertiesMapper>();
            var keyMapper = new Mock<IKeyMapper>();
            collectionMapper.Setup(x => x.Key(It.IsAny<Action<IKeyMapper>>())).Callback<Action<IKeyMapper>>(
                x => x.Invoke(keyMapper.Object));

            customizer.PropertyRef(x=> x.AProp);
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.PropertyRef(It.Is<MemberInfo>(v => v == ForClass<MyClass>.Property(p=> p.AProp))), Times.Once());
        }
        public void InvokeOnDelete()
        {
            var propertyPath = new PropertyPath(null, ForClass<MyClass>.Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer = new CollectionKeyCustomizer<MyClass>(propertyPath, customizersHolder);
            var collectionMapper = new Mock<ISetPropertiesMapper>();
            var keyMapper = new Mock<IKeyMapper>();
            collectionMapper.Setup(x => x.Key(It.IsAny<Action<IKeyMapper>>())).Callback<Action<IKeyMapper>>(
                x => x.Invoke(keyMapper.Object));

            customizer.OnDelete(OnDeleteAction.Cascade);
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.OnDelete(It.Is<OnDeleteAction>(v => v == OnDeleteAction.Cascade)), Times.Once());
        }
        public void InvokeColumn()
        {
            var propertyPath = new PropertyPath(null, ForClass<MyClass>.Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer = new CollectionKeyCustomizer<MyClass>(propertyPath, customizersHolder);
            var collectionMapper = new Mock<ISetPropertiesMapper>();
            var keyMapper = new Mock<IKeyMapper>();
            collectionMapper.Setup(x => x.Key(It.IsAny<Action<IKeyMapper>>())).Callback<Action<IKeyMapper>>(
                x => x.Invoke(keyMapper.Object));

            customizer.Column("pizza");
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.Column(It.Is<string>(str => str == "pizza")), Times.Once());
        }
示例#4
0
        public void InvokePropertyRef()
        {
            var propertyPath      = new PropertyPath(null, ForClass <MyClass> .Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer        = new CollectionKeyCustomizer <MyClass>(propertyPath, customizersHolder);
            var collectionMapper  = new Mock <ISetPropertiesMapper>();
            var keyMapper         = new Mock <IKeyMapper>();

            collectionMapper.Setup(x => x.Key(It.IsAny <Action <IKeyMapper> >())).Callback <Action <IKeyMapper> >(
                x => x.Invoke(keyMapper.Object));

            customizer.PropertyRef(x => x.AProp);
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.PropertyRef(It.Is <MemberInfo>(v => v == ForClass <MyClass> .Property(p => p.AProp))), Times.Once());
        }
示例#5
0
        public void InvokeOnDelete()
        {
            var propertyPath      = new PropertyPath(null, ForClass <MyClass> .Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer        = new CollectionKeyCustomizer <MyClass>(propertyPath, customizersHolder);
            var collectionMapper  = new Mock <ISetPropertiesMapper>();
            var keyMapper         = new Mock <IKeyMapper>();

            collectionMapper.Setup(x => x.Key(It.IsAny <Action <IKeyMapper> >())).Callback <Action <IKeyMapper> >(
                x => x.Invoke(keyMapper.Object));

            customizer.OnDelete(OnDeleteAction.Cascade);
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.OnDelete(It.Is <OnDeleteAction>(v => v == OnDeleteAction.Cascade)), Times.Once());
        }
示例#6
0
        public void InvokeColumn()
        {
            var propertyPath      = new PropertyPath(null, ForClass <MyClass> .Property(x => x.MyCollection));
            var customizersHolder = new CustomizersHolder();
            var customizer        = new CollectionKeyCustomizer <MyClass>(propertyPath, customizersHolder);
            var collectionMapper  = new Mock <ISetPropertiesMapper>();
            var keyMapper         = new Mock <IKeyMapper>();

            collectionMapper.Setup(x => x.Key(It.IsAny <Action <IKeyMapper> >())).Callback <Action <IKeyMapper> >(
                x => x.Invoke(keyMapper.Object));

            customizer.Column("pizza");
            customizersHolder.InvokeCustomizers(propertyPath, collectionMapper.Object);

            keyMapper.Verify(x => x.Column(It.Is <string>(str => str == "pizza")), Times.Once());
        }