예제 #1
0
        public void When_type_name_is_genererated_then_it_corret()
        {
            var tests = new Dictionary <string, string>
            {
                { "foo.bar", "Bar" },
                { "fooBar", "FooBar" },
                { "abc.fooBar", "FooBar" },
                { "foo[bar]", "FooOfBar" },
                { "bar[a,b]", "BarOfAAndB" },
                { "foo.bar[a.b]", "BarOfB" },
                { "foo.bar[a.b, c.d]", "BarOfBAndD" },
                { " Foo.ActionResponse [System.Net.HttpStatusCode, User]", "ActionResponseOfHttpStatusCodeAndUser" }
            };

            //// Arrange
            var generator = new DefaultTypeNameGenerator();

            foreach (var p in tests)
            {
                //// Act
                var name = generator.Generate(new JsonSchema(), p.Key, new List <string>());

                //// Assert
                Assert.Equal(p.Value, name);
            }
        }
예제 #2
0
        public void When_type_name_is_genererated_then_it_removes_Illegal_characters()
        {
            var tests = new Dictionary <string, string>
            {
                { "foo.bar+", "Bar" },
                { "foo+Bar", "Foo_Bar" },
                { "foo++Bar", "Foo_Bar" },
                { "abc.1fooBar", "_1fooBar" },
                { "foo9[bar]", "Foo9OfBar" },
                { "bar[a+,b]", "BarOfA_AndB" },
                { "foo.bar[a.b+]", "BarOfB" },
                { "foo.bar[a.b+, c.+d+]", "BarOfB_And_d" },
                { " Foo.ActionRes+ponse [System.Net.HttpSta+tusCode, Us+er]", "ActionRes_ponseOfHttpSta_tusCodeAndUs_er" }
            };

            //// Arrange
            var generator = new DefaultTypeNameGenerator();

            foreach (var p in tests)
            {
                //// Act
                var name = generator.Generate(new JsonSchema(), p.Key, new List <string>());

                //// Assert
                Assert.Equal(p.Value, name);
            }
        }
예제 #3
0
 /// <summary>Initializes a new instance of the <see cref="JsonSchemaGeneratorSettings"/> class.</summary>
 public JsonSchemaGeneratorSettings()
 {
     DefaultEnumHandling         = EnumHandling.Integer;
     NullHandling                = NullHandling.JsonSchema;
     DefaultPropertyNameHandling = PropertyNameHandling.Default;
     TypeNameGenerator           = new DefaultTypeNameGenerator();
 }
        /// <summary>Initializes a new instance of the <see cref="JsonSchemaGeneratorSettings"/> class.</summary>
        public JsonSchemaGeneratorSettings()
        {
            DefaultEnumHandling = EnumHandling.Integer;
            DefaultReferenceTypeNullHandling = ReferenceTypeNullHandling.Null;
            DefaultPropertyNameHandling      = PropertyNameHandling.Default;
            SchemaType = SchemaType.JsonSchema;

            TypeNameGenerator   = new DefaultTypeNameGenerator();
            SchemaNameGenerator = new DefaultSchemaNameGenerator();
            ReflectionService   = new DefaultReflectionService();
        }
예제 #5
0
        /// <summary>Initializes a new instance of the <see cref="JsonSchemaGeneratorSettings"/> class.</summary>
        public JsonSchemaGeneratorSettings()
        {
            DefaultReferenceTypeNullHandling = ReferenceTypeNullHandling.Null;
            SchemaType = SchemaType.JsonSchema;

            // Obsolete, use SerializerSettings instead
            DefaultEnumHandling         = EnumHandling.Integer;
            DefaultPropertyNameHandling = PropertyNameHandling.Default;
            ContractResolver            = null;

            TypeNameGenerator   = new DefaultTypeNameGenerator();
            SchemaNameGenerator = new DefaultSchemaNameGenerator();
            ReflectionService   = new DefaultReflectionService();

            ExcludedTypeNames = new string[0];
        }
        /// <summary>Initializes a new instance of the <see cref="JsonSchemaGeneratorSettings"/> class.</summary>
        public JsonSchemaGeneratorSettings()
        {
            DefaultReferenceTypeNullHandling = ReferenceTypeNullHandling.Null;
            DefaultDictionaryValueReferenceTypeNullHandling = ReferenceTypeNullHandling.NotNull;

            SchemaType = SchemaType.JsonSchema;
            GenerateAbstractSchemas = true;
            GenerateExamples        = true;

            // Obsolete, use SerializerSettings instead
            DefaultEnumHandling         = EnumHandling.Integer;
            DefaultPropertyNameHandling = PropertyNameHandling.Default;
            ContractResolver            = null;

            TypeNameGenerator   = new DefaultTypeNameGenerator();
            SchemaNameGenerator = new DefaultSchemaNameGenerator();
            ReflectionService   = new DefaultReflectionService();

            ExcludedTypeNames = new string[0];

            UseXmlDocumentation             = true;
            ResolveExternalXmlDocumentation = true;
        }
예제 #7
0
        public string Generate(JsonSchema4 schema, string typeNameHint, IEnumerable <string> reservedTypeNames)
        {
            DefaultTypeNameGenerator dng = new DefaultTypeNameGenerator();

            return(dng.Generate(schema, typeNameHint, reservedTypeNames) + "ViewModel");
        }