protected void AssertEqual(
     IEnumerable <IForeignKey> expectedForeignKeys,
     IEnumerable <IForeignKey> actualForeignKeys,
     ForeignKeyStrictComparer foreignKeyComparer = null)
 {
     foreignKeyComparer = foreignKeyComparer ?? new ForeignKeyStrictComparer();
     Assert.Equal(
         new SortedSet <IForeignKey>(expectedForeignKeys, foreignKeyComparer),
         new SortedSet <IForeignKey>(actualForeignKeys, foreignKeyComparer),
         foreignKeyComparer);
 }
 protected void AssertEqual(
     IEnumerable <IReadOnlyForeignKey> expectedForeignKeys,
     IEnumerable <IReadOnlyForeignKey> actualForeignKeys,
     ForeignKeyStrictComparer foreignKeyComparer = null)
 {
     foreignKeyComparer ??= new ForeignKeyStrictComparer(compareAnnotations: false);
     Assert.Equal(
         new SortedSet <IReadOnlyForeignKey>(expectedForeignKeys, foreignKeyComparer),
         new SortedSet <IReadOnlyForeignKey>(actualForeignKeys, foreignKeyComparer),
         foreignKeyComparer);
 }