Пример #1
0
        public void equivalency_positive_column_name_case_insensitive()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.Column("username").ShouldBeSameAs(table1.Column("UserName"));

            table2.ShouldBe(table1);
        }
Пример #2
0
        public void equivalency_negative_different_numbers_of_columns()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.Columns.Add(new TableColumn("user_name", "character varying"));

            table2.ShouldNotBe(table1);
        }
Пример #3
0
        public void equivalency_negative_column_type_changed()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.ReplaceOrAddColumn(table2.PrimaryKey.Name, "int", table2.PrimaryKey.Directive);

            table2.ShouldNotBe(table1);
        }
Пример #4
0
        public void equivalency_positive()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.ShouldBe(table1);
            table1.ShouldBe(table2);
            table1.ShouldNotBeSameAs(table2);
        }
Пример #5
0
        public void perfect_match()
        {
            var users    = DocumentSchemaObjects.For <User>();
            var actual   = users.StorageTable();
            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeTrue();
        }
Пример #6
0
        public void can_match_up_on_columns()
        {
            var users    = DocumentSchemaObjects.For <User>();
            var actual   = users.StorageTable();
            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matched.OrderBy(x => x.Name).Select(x => x.Name)
            .ShouldHaveTheSameElementsAs("data", "id", DocumentMapping.DotNetTypeColumn, DocumentMapping.LastModifiedColumn, DocumentMapping.VersionColumn);
        }
Пример #7
0
        public void not_matching_with_columns_of_same_name_that_are_different()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var actual = users.StorageTable();

            actual.ReplaceOrAddColumn("id", "int");

            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeFalse();

            diff.Different.Single().Name.ShouldBe("id");
        }
Пример #8
0
        public void not_matching_with_extra_columns()
        {
            var users       = DocumentSchemaObjects.For <User>();
            var actual      = users.StorageTable();
            var tableColumn = new TableColumn("new", "varchar");

            actual.Columns.Add(tableColumn);

            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeFalse();
            diff.Extras.Single().ShouldBe(tableColumn);
        }