public void LeftKeyParameter_should_return_configuration_for_valid_property_expressions()
        {
            var configuration = new ManyToManyModificationFunctionConfiguration <Entity, Entity>();

            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Int, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Nullable, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.String, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Bytes, "Foo"));
        }
        public void LeftKeyParameter_should_return_configuration_for_valid_property_expressions()
        {
            var configuration = new ManyToManyModificationFunctionConfiguration<Entity, Entity>();

            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Int, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Nullable, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.String, "Foo"));
            Assert.Same(configuration, configuration.LeftKeyParameter(e => e.Bytes, "Foo"));
        }
        public void LeftKeyParameter_should_throw_when_complex_property_expression()
        {
            var configuration = new ManyToManyModificationFunctionConfiguration <Entity, Entity>();

            Assert.Equal(
                Strings.InvalidPropertyExpression("e => e.ComplexType.Int"),
                Assert.Throws <InvalidOperationException>(
                    () => configuration.LeftKeyParameter(e => e.ComplexType.Int, "Foo")).Message);
        }
        public void LeftKeyParameter_should_throw_when_complex_property_expression()
        {
            var configuration = new ManyToManyModificationFunctionConfiguration<Entity, Entity>();

            Assert.Equal(
                Strings.InvalidPropertyExpression("e => e.ComplexType.Int"),
                Assert.Throws<InvalidOperationException>(
                    () => configuration.LeftKeyParameter(e => e.ComplexType.Int, "Foo")).Message);
        }