コード例 #1
0
        public void Should_map_simple_types(Type type, object expected, object value)
        {
            var parameter = SimpleTypeParameters.FirstOrDefault(x => x.ParameterType.Type == type);
            var result    = new SimpleTypeMapper().Map(new ValueMapperContext(
                                                           null, null, parameter, value.AsArray()));

            result?.GetType().ShouldEqual(type.GetUnderlyingNullableType());
            result.ShouldEqual(expected);
        }
コード例 #2
0
        public void Should_map_simple_types_to_a_list_interface(Type type, object expected, object value)
        {
            var parameter = SimpleTypeParameterListInterface.FirstOrDefault(
                x => x.ParameterType.ElementType.Type == type);
            var result = new SimpleTypeMapper().Map(new ValueMapperContext(
                                                        null, null, parameter, new[] { value, value }));

            result?.GetType().ShouldEqual(typeof(List <>).MakeGenericType(type));
            result.As <IEnumerable>().Cast <object>().ShouldOnlyContain(expected, expected);
        }
コード例 #3
0
        public void Should_map_simple_types(Type type, object expected, object value)
        {
            var parameter = SimpleTypeParameters.FirstOrDefault(x => x.ParameterType.Type == type);
            var result    = new SimpleTypeMapper(_configuration).Map(new ValueMapperContext(
                                                                         new ActionParameter(_actionMethod, parameter), value.AsArray()));

            result.Status.ShouldEqual(MappingStatus.Success);
            result.Value?.GetType().ShouldEqual(type.GetUnderlyingNullableType());
            result.Value.ShouldEqual(expected);
        }
コード例 #4
0
        public void Should_map_simple_types_to_a_list_interface(Type type, object expected, object value)
        {
            var parameter = SimpleTypeParameterListInterface.FirstOrDefault(
                x => x.ParameterType.ElementType.Type == type);
            var result = new SimpleTypeMapper(_configuration).Map(new ValueMapperContext(
                                                                      new ActionParameter(_actionMethod, parameter), new[] { value, value }));

            result.Status.ShouldEqual(MappingStatus.Success);
            result.Value?.GetType().ShouldEqual(typeof(List <>).MakeGenericType(type));
            result.Value.As <IEnumerable>().Cast <object>().ShouldOnlyContain(expected, expected);
        }
コード例 #5
0
        public void Should_return_bad_request_exception_when_format_incorrect(
            Type type, object expected, object value)
        {
            if (type == typeof(string))
            {
                return;
            }
            var parameter = SimpleTypeParameters.FirstOrDefault(x => x.ParameterType.Type == type);
            var message   = new SimpleTypeMapper().Should().Throw <BadRequestException>(x => x
                                                                                        .Map(new ValueMapperContext(null, null, parameter, "fark".AsArray()))).Message;

            message.ShouldContain("fark");
            message.ShouldContain(parameter.Name);
        }
コード例 #6
0
        public void Should_return_failure_when_format_incorrect(
            Type type, object expected, object value)
        {
            if (type == typeof(string))
            {
                return;
            }
            var parameter = SimpleTypeParameters.FirstOrDefault(x => x.ParameterType.Type == type);
            var result    = new SimpleTypeMapper(_configuration).Map(new ValueMapperContext(
                                                                         new ActionParameter(_actionMethod, parameter), "fark".AsArray()));

            result.Status.ShouldEqual(MappingStatus.Failure);
            result.ErrorMessage.ShouldContain("fark");
            result.ErrorMessage.ShouldContain(parameter.Name);
        }