public void JsonCodeGenerator_SimpleObjectWithStrings() { var root = new WithStrings() { Title = "test", Category = "category" }; var generator = new JsonCodeGenerator("csharp"); var classTypes = generator.GenerateClassesTypesFromObject("Root", JsonExtensions.ToJObject(root)) .ToLookup(x => x.Name); Assert.Equal(1, classTypes.Count()); var clazz = classTypes["Root"].Single() as JsonCodeGenerator.ClassType; Assert.NotNull(clazz); Assert.Equal("string", clazz.Properties["Title"].Name); Assert.False(clazz.Properties["Title"].IsArray); Assert.True(clazz.Properties["Title"].IsPrimitive); Assert.Equal("string", clazz.Properties["Category"].Name); Assert.False(clazz.Properties["Category"].IsArray); Assert.True(clazz.Properties["Category"].IsPrimitive); }
public void JsonCodeGenerator_SimpleObjectGenerator() { var root = new WithStrings() { Title = "test", Category = "category" }; var document = new JsonDocument() { DataAsJson = JsonExtensions.ToJObject(root) }; // "Raven-Clr-Type": "Namespace.ClassName, AssemblyName" document.Metadata["Raven-Clr-Type"] = new RavenJValue("NamespaceName.ClassName, AssemblyName"); var generator = new JsonCodeGenerator("csharp"); var code = generator.Execute(document); Assert.Contains("namespace NamespaceName", code); Assert.Contains("public class ClassName", code); Assert.Contains("public string Title { get; set; }", code); Assert.Contains("public string Category { get; set; }", code); }