public void WhenManyToManyBidirectionalThenApplyColumnNameByEntityClass() { var orm = new Mock <IDomainInspector>(); orm.Setup(x => x.IsManyToMany(It.Is <Type>(t => t == typeof(MyClass)), It.Is <Type>(t => t == typeof(MyBidirect)))).Returns(true); orm.Setup(x => x.IsManyToMany(It.Is <Type>(t => t == typeof(MyBidirect)), It.Is <Type>(t => t == typeof(MyClass)))).Returns(true); var pattern = new ManyToManyKeyIdColumnApplier(orm.Object); var path = new PropertyPath(null, ForClass <MyClass> .Property(x => x.MyBidirects)); var collectionMapper = new Mock <ICollectionPropertiesMapper>(); var keyMapper = new Mock <IKeyMapper>(); collectionMapper.Setup(x => x.Key(It.IsAny <Action <IKeyMapper> >())).Callback <Action <IKeyMapper> >(x => x.Invoke(keyMapper.Object)); pattern.Apply(path, collectionMapper.Object); keyMapper.Verify(x => x.Column(It.Is <string>(columnName => columnName == "MyClassId"))); var bipath = new PropertyPath(null, ForClass <MyBidirect> .Property(x => x.MyClasses)); var bicollectionMapper = new Mock <ICollectionPropertiesMapper>(); var bikeyMapper = new Mock <IKeyMapper>(); bicollectionMapper.Setup(x => x.Key(It.IsAny <Action <IKeyMapper> >())).Callback <Action <IKeyMapper> >(x => x.Invoke(bikeyMapper.Object)); pattern.Apply(bipath, bicollectionMapper.Object); bikeyMapper.Verify(x => x.Column(It.Is <string>(columnName => columnName == "MyBidirectId"))); }
public void WhenManyToManyBidirectionalThenApplyColumnNameByEntityClass() { var orm = new Mock<IDomainInspector>(); orm.Setup(x => x.IsManyToMany(It.Is<Type>(t => t == typeof(MyClass)), It.Is<Type>(t => t == typeof(MyBidirect)))).Returns(true); orm.Setup(x => x.IsManyToMany(It.Is<Type>(t => t == typeof(MyBidirect)), It.Is<Type>(t => t == typeof(MyClass)))).Returns(true); var pattern = new ManyToManyKeyIdColumnApplier(orm.Object); var path = new PropertyPath(null, ForClass<MyClass>.Property(x => x.MyBidirects)); var collectionMapper = new Mock<ICollectionPropertiesMapper>(); var keyMapper = new Mock<IKeyMapper>(); collectionMapper.Setup(x => x.Key(It.IsAny<Action<IKeyMapper>>())).Callback<Action<IKeyMapper>>(x => x.Invoke(keyMapper.Object)); pattern.Apply(path, collectionMapper.Object); keyMapper.Verify(x => x.Column(It.Is<string>(columnName => columnName == "MyClassId"))); var bipath = new PropertyPath(null, ForClass<MyBidirect>.Property(x => x.MyClasses)); var bicollectionMapper = new Mock<ICollectionPropertiesMapper>(); var bikeyMapper = new Mock<IKeyMapper>(); bicollectionMapper.Setup(x => x.Key(It.IsAny<Action<IKeyMapper>>())).Callback<Action<IKeyMapper>>(x => x.Invoke(bikeyMapper.Object)); pattern.Apply(bipath, bicollectionMapper.Object); bikeyMapper.Verify(x => x.Column(It.Is<string>(columnName => columnName == "MyBidirectId"))); }