예제 #1
0
        public static void AsExpected(Project project)
        {
            Assert.NotNull(project);
            DfAssert.Past(project.Created);
            DfAssert.Past(project.Modified);
            DfAssert.GreaterThanOrEqual(project.Modified, project.Created);
            AsExpected(project.Descriptor);
            AsExpected(project.Prescriptor);

            // Checking the references
            var tableDescriptions      = project.Descriptor.TableDescriptions;
            var foreignKeyDescriptions = tableDescriptions.SelectMany(_ => _.ForeignKeyDescriptions);

            foreach (var tableDescription in tableDescriptions)
            {
                foreach (var columnDescription in tableDescription.ColumnDescriptions)
                {
                    Assert.Same(columnDescription.Parent, tableDescription);
                }

                foreach (var fk in tableDescription.ForeignKeyDescriptions)
                {
                    Assert.Same(fk.Parent, tableDescription);
                    Assert.Same(fk.Referenced, tableDescriptions.Single(_ => _.ObjectId == fk.Referenced.ObjectId));
                    foreach (var cr in fk.ColumnRelationshipDescriptions)
                    {
                        Assert.Same(cr.Parent, tableDescription.ColumnDescriptions.Single(_ => _.Order == cr.Parent.Order));
                        Assert.Same(cr.Referenced, fk.Referenced.ColumnDescriptions.Single(_ => _.Order == cr.Referenced.Order));
                    }
                }
            }
        }
        public void CallTheConstructor()
        {
            using var mc = Fixture.CreateMetaDbContext();
            var c = mc.Tables.Count();

            DfAssert.GreaterThan(c, 0);
        }
예제 #3
0
 private static void AsExpected(Descriptor descriptor)
 {
     Assert.NotNull(descriptor);
     DfAssert.NotEmpty(descriptor.Checksum);
     DfAssert.NotEmpty(descriptor.ConnectionString);
     AsExpected(descriptor.TableDescriptions);
 }
예제 #4
0
        private static void AsExpected(ColumnDescription columnDescription)
        {
            Assert.NotNull(columnDescription);
            DfAssert.NotEmpty(columnDescription.Name);
            DfAssert.GreaterThanOrEqual(columnDescription.Order, 0);

            AsExpected(columnDescription.Identity);
        }
예제 #5
0
        private static void AsExpected(IReadOnlyList <ColumnDescription> columnDescriptions)
        {
            Assert.NotNull(columnDescriptions);
            DfAssert.GreaterThan(columnDescriptions.Count, 0);
            Assert.All(columnDescriptions, AsExpected);
            var indexCount = columnDescriptions.Select(_ => _.Order).Count();

            Assert.Equal(columnDescriptions.Count, indexCount);
        }
예제 #6
0
 private static void AsExpected(ForeignKeyDescription foreignKeyDescription)
 {
     Assert.NotNull(foreignKeyDescription);
     DfAssert.NotEmpty(foreignKeyDescription.Name);
     DfAssert.Past(foreignKeyDescription.Created);
     DfAssert.Past(foreignKeyDescription.Modified);
     Assert.NotNull(foreignKeyDescription.Parent);
     Assert.NotNull(foreignKeyDescription.Referenced);
     DfAssert.GreaterThanOrEqual(foreignKeyDescription.Modified, foreignKeyDescription.Created);
     AsExpected(foreignKeyDescription.ColumnRelationshipDescriptions);
 }
예제 #7
0
 private static void AsExpected(TableDescription tableDescription)
 {
     Assert.NotNull(tableDescription);
     DfAssert.NotEmpty(tableDescription.Name);
     DfAssert.Past(tableDescription.Created);
     DfAssert.Past(tableDescription.Modified);
     DfAssert.GreaterThanOrEqual(tableDescription.Modified, tableDescription.Created);
     DfAssert.GoodId(tableDescription.ObjectId);
     DfAssert.NotEmpty(tableDescription.Schema);
     AsExpected(tableDescription.ColumnDescriptions);
     AsExpected(tableDescription.ForeignKeyDescriptions);
 }
예제 #8
0
 private static void AsExpected(IReadOnlyList <TableDescription> tableDescriptions)
 {
     Assert.NotNull(tableDescriptions);
     DfAssert.GreaterThan(tableDescriptions.Count, 0);
     Assert.All(tableDescriptions, AsExpected);
 }
예제 #9
0
 private static void AsExpected(IReadOnlyList <ColumnRelationshipDescription> columnRelationshipDescriptions)
 {
     Assert.NotNull(columnRelationshipDescriptions);
     DfAssert.GreaterThan(columnRelationshipDescriptions.Count, 0);
     Assert.All(columnRelationshipDescriptions, AsExpected);
 }