protected override void RegisterManyToOneMapping <TProperty>(System.Linq.Expressions.Expression <System.Func <TEntity, TProperty> > property, System.Action <IManyToOneMapper> mapping)
        {
            MemberInfo member = TypeExtensions.DecodeMemberAccessExpression(property);

            ExplicitDeclarationsHolder.AddAsPartOfComposedId(member);
            base.RegisterManyToOneMapping(property, mapping);
        }
        public void MergeComposedId()
        {
            var destination = new ExplicitDeclarationsHolder();
            var source      = new ExplicitDeclarationsHolder();

            source.AddAsPartOfComposedId(property);

            destination.Merge(source);
            destination.ComposedIds.Should().Have.Count.EqualTo(1);
        }
        public void MergeComposedId()
        {
            var destination = new ExplicitDeclarationsHolder();
            var source      = new ExplicitDeclarationsHolder();

            source.AddAsPartOfComposedId(property);

            destination.Merge(source);
            Assert.That(destination.ComposedIds, Has.Count.EqualTo(1));
        }