public void Object_separator_flag(string a, string b) { var sa = SigoSchema.Parse(a); var sb = SigoSchema.Parse(b); SigoAssert.Equal(sa.Count(), sb.Count()); }
public static IEnumerable <object[]> ObjectData(string schema = null) { schema ??= @" name = {03, first:'a', last?:'b'}; user = {03, name?, age?: 1}; // return user"; return(SigoSchema.Parse(schema).Generate().Select(s => new[] { new SigoWraper(s) })); }
private static void Main() { var statements = new List <string> { " string = 'usd'|'eur'", " number = 1|2|3", " bool = true|false", " account = {kind: string, amount?: number}" }; // eval the initial statements foreach (var statement in statements) { SigoSchema.Parse(statement); } ShowSchemasAndHelp(); while (true) { Console.Write("schema>"); var src = Console.ReadLine(); switch (src) { case null: case "": continue; case "?": case "help": { ShowSchemasAndHelp(); continue; } case "exit": case "quit": return; default: { try { var schema = SigoSchema.Parse(src); if (schema.Count() == 0) { continue; } GenerateAllPossibleValues(schema); } catch (Exception e) { Console.Error.WriteLine(e.Message); } break; } } } }
private SigoSchema ParseAssignment() { var key = t.Raw; Next(); Next(); var value = ParseOr(); SigoSchema.SetType(key, value); ReadKind(Kind.SemiColon); return(Nothing); }
private static void GenerateAllPossibleValues(SigoSchema schema) { var count = 0; var values = schema.Generate(GenerateOptions.UniqueSorted); Console.WriteLine("---------------------------------"); foreach (var value in values) { Console.WriteLine(value.ToString(Writer.Default)); count++; } Console.WriteLine("---------------------------------"); Console.WriteLine($"{count} items."); }
public FieldInfo(SigoSchema schema, bool optional) { this.schema = schema; this.optional = optional; }
public void Add(string key, SigoSchema schema, in bool optional)
public void UniqueTest() { SigoAssert.Equal(Leafs(2, 0), SigoSchema.Parse(src).Generate(GenerateOptions.Unique)); }
public void UniqueSortedTest() { SigoAssert.Equal(Leafs(0, 2), SigoSchema.Parse(src).Generate(GenerateOptions.UniqueSorted)); }
private static IList <ISigo> Gen(string src) { return(SigoSchema.Parse(src).Generate().ToList()); }