| @@ 338-401 (lines=64) @@ | ||
| 335 | self::assertEquals($expected, Comparator::compareSchemas( $schema1, $schema2 ) ); |
|
| 336 | } |
|
| 337 | ||
| 338 | public function testCompareChangedIndex() |
|
| 339 | { |
|
| 340 | $schema1 = new Schema( array( |
|
| 341 | 'bugdb' => new Table('bugdb', |
|
| 342 | array ( |
|
| 343 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 344 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 345 | ), |
|
| 346 | array ( |
|
| 347 | 'primary' => new Index('primary', |
|
| 348 | array( |
|
| 349 | 'integerfield1' |
|
| 350 | ), |
|
| 351 | true |
|
| 352 | ) |
|
| 353 | ) |
|
| 354 | ), |
|
| 355 | ) ); |
|
| 356 | $schema2 = new Schema( array( |
|
| 357 | 'bugdb' => new Table('bugdb', |
|
| 358 | array ( |
|
| 359 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 360 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 361 | ), |
|
| 362 | array ( |
|
| 363 | 'primary' => new Index('primary', |
|
| 364 | array('integerfield1', 'integerfield2'), |
|
| 365 | true |
|
| 366 | ) |
|
| 367 | ) |
|
| 368 | ), |
|
| 369 | ) ); |
|
| 370 | ||
| 371 | $expected = new SchemaDiff ( array(), |
|
| 372 | array ( |
|
| 373 | 'bugdb' => new TableDiff( 'bugdb', array(), array(), array(), array(), |
|
| 374 | array ( |
|
| 375 | 'primary' => new Index('primary', |
|
| 376 | array( |
|
| 377 | 'integerfield1', |
|
| 378 | 'integerfield2' |
|
| 379 | ), |
|
| 380 | true |
|
| 381 | ) |
|
| 382 | ) |
|
| 383 | ), |
|
| 384 | ) |
|
| 385 | ); |
|
| 386 | $expected->fromSchema = $schema1; |
|
| 387 | $expected->changedTables['bugdb']->fromTable = $schema1->getTable('bugdb'); |
|
| 388 | ||
| 389 | self::assertEquals($expected, Comparator::compareSchemas( $schema1, $schema2 )); |
|
| 390 | } |
|
| 391 | ||
| 392 | public function testCompareChangedIndexFieldPositions() |
|
| 393 | { |
|
| 394 | $schema1 = new Schema( array( |
|
| 395 | 'bugdb' => new Table('bugdb', |
|
| 396 | array ( |
|
| 397 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 398 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 399 | ), |
|
| 400 | array ( |
|
| 401 | 'primary' => new Index('primary', array('integerfield1', 'integerfield2'), true) |
|
| 402 | ) |
|
| 403 | ), |
|
| 404 | ) ); |
|
| @@ 392-438 (lines=47) @@ | ||
| 389 | self::assertEquals($expected, Comparator::compareSchemas( $schema1, $schema2 )); |
|
| 390 | } |
|
| 391 | ||
| 392 | public function testCompareChangedIndexFieldPositions() |
|
| 393 | { |
|
| 394 | $schema1 = new Schema( array( |
|
| 395 | 'bugdb' => new Table('bugdb', |
|
| 396 | array ( |
|
| 397 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 398 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 399 | ), |
|
| 400 | array ( |
|
| 401 | 'primary' => new Index('primary', array('integerfield1', 'integerfield2'), true) |
|
| 402 | ) |
|
| 403 | ), |
|
| 404 | ) ); |
|
| 405 | $schema2 = new Schema( array( |
|
| 406 | 'bugdb' => new Table('bugdb', |
|
| 407 | array ( |
|
| 408 | 'integerfield1' => new Column('integerfield1', Type::getType('integer')), |
|
| 409 | 'integerfield2' => new Column('integerfield2', Type::getType('integer')), |
|
| 410 | ), |
|
| 411 | array ( |
|
| 412 | 'primary' => new Index('primary', array('integerfield2', 'integerfield1'), true) |
|
| 413 | ) |
|
| 414 | ), |
|
| 415 | ) ); |
|
| 416 | ||
| 417 | $expected = new SchemaDiff ( array(), |
|
| 418 | array ( |
|
| 419 | 'bugdb' => new TableDiff('bugdb', array(), array(), array(), array(), |
|
| 420 | array ( |
|
| 421 | 'primary' => new Index('primary', array('integerfield2', 'integerfield1'), true) |
|
| 422 | ) |
|
| 423 | ), |
|
| 424 | ) |
|
| 425 | ); |
|
| 426 | $expected->fromSchema = $schema1; |
|
| 427 | $expected->changedTables['bugdb']->fromTable = $schema1->getTable('bugdb'); |
|
| 428 | ||
| 429 | self::assertEquals($expected, Comparator::compareSchemas( $schema1, $schema2 )); |
|
| 430 | } |
|
| 431 | ||
| 432 | public function testCompareSequences() |
|
| 433 | { |
|
| 434 | $seq1 = new Sequence('foo', 1, 1); |
|
| 435 | $seq2 = new Sequence('foo', 1, 2); |
|
| 436 | $seq3 = new Sequence('foo', 2, 1); |
|
| 437 | ||
| 438 | $c = new Comparator(); |
|
| 439 | ||
| 440 | self::assertTrue($c->diffSequence($seq1, $seq2)); |
|
| 441 | self::assertTrue($c->diffSequence($seq1, $seq3)); |
|