public static void GetFieldName_WithNonElasticFieldsMember_PassesThrough()
        {
            var innerMapping = Substitute.For<IElasticMapping>();
            var mapping = new ElasticFieldsMappingWrapper(innerMapping);
            var member = typeof(string).GetProperty("Length");

            mapping.GetFieldName("a.b.c", member);

            innerMapping.Received(1).GetFieldName("a.b.c", member);
        }
        public static void GetFieldName_WithElasticFieldsMember_ReturnsRootedName(string propertyName, string expectedValue)
        {
            var innerMapping = Substitute.For<IElasticMapping>();
            var mapping = new ElasticFieldsMappingWrapper(innerMapping);
            var member = typeof(ElasticFields).GetProperty(propertyName);

            var result = mapping.GetFieldName("a.b.c", member);

            Assert.Equal(expectedValue, result);
            innerMapping.Received(0).GetFieldName("a.b.c", member);
        }
        public static void GetFieldName_WithNonElasticFieldsMember_PassesThrough()
        {
            var innerMapping = Substitute.For<IElasticMapping>();
            var mapping = new ElasticFieldsMappingWrapper(innerMapping);
            var member = typeof(string).GetProperty("Length");
            var constantExpression = Expression.Constant("string value");
            var memberExpression = Expression.MakeMemberAccess(constantExpression, member);

            mapping.GetFieldName("a.b.c", memberExpression);

            innerMapping.Received(1).GetFieldName("a.b.c", memberExpression);
        }