public static void AssertEquals(Document d1, Document d2, bool skipGeometryAndNodes = false) { var schema1 = VimSchema.Create(d1); var schema2 = VimSchema.Create(d2); Assert.IsTrue(VimSchema.SameSchema(schema1, schema2)); Assert.AreEqual(d1.EntityTables.Keys.ToArray(), d2.EntityTables.Keys.ToArray()); foreach (var k in d1.EntityTables.Keys.ToEnumerable()) { if (skipGeometryAndNodes && (k.ToLowerInvariant().Contains("node") || k.ToLowerInvariant().Contains("geometry"))) { continue; } AssertEquals(d1.EntityTables[k], d2.EntityTables[k]); } }
public static VimSchema GetCurrentSchema() { var vs = new VimSchema(); vs.Version = VimConstants.ObjectModelVersion.ToString(); foreach (var et in GetEntityTypes()) { var t = vs.AddTable(GetEntityTableName(et).SimplifiedName()); foreach (var f in GetEntityFields(et)) { t.AddColumns(f.Name, f.FieldType); } foreach (var f in GetRelationFields(et)) { t.AddColumn(f.GetRelationColumnName(), VimSchema.ColumnType.Index); } } return(vs); }