1<?php 2/* 3 +-----------------------------------------------------------------------------+ 4 | ILIAS open source | 5 +-----------------------------------------------------------------------------+ 6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne | 7 | | 8 | This program is free software; you can redistribute it and/or | 9 | modify it under the terms of the GNU General Public License | 10 | as published by the Free Software Foundation; either version 2 | 11 | of the License, or (at your option) any later version. | 12 | | 13 | This program is distributed in the hope that it will be useful, | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | GNU General Public License for more details. | 17 | | 18 | You should have received a copy of the GNU General Public License | 19 | along with this program; if not, write to the Free Software | 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 21 +-----------------------------------------------------------------------------+ 22*/ 23 24/** 25* Unit tests for tree table 26* 27* @author Stefan Meyer <meyer@leifos.com> 28* @version $Id$ 29* 30* @group needsInstalledILIAS 31* @ingroup ServicesTree 32*/ 33class ilMDTest extends PHPUnit_Framework_TestCase 34{ 35 protected $backupGlobals = false; 36 37 protected function setUp() 38 { 39 include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php"); 40 ilUnitUtil::performInitialisation(); 41 } 42 43 /** 44 * @group IL_Init 45 * @param 46 * @return 47 */ 48 public function testCopyright() 49 { 50 include_once './Services/MetaData/classes/class.ilMDCopyrightSelectionEntry.php'; 51 52 $cpr = new ilMDCopyrightSelectionEntry(0); 53 $cpr->setTitle("1"); 54 $cpr->setDescription("2"); 55 $cpr->setLanguage('en'); 56 $cpr->setCopyright("3"); 57 $cpr->setCosts(true); 58 59 $cpr->add(); 60 61 $entry = $cpr->getEntryId(); 62 $this->assertGreaterThan(0, $entry); 63 64 $cpr = new ilMDCopyrightSelectionEntry($entry); 65 $ret = $cpr->getTitle(); 66 $this->assertEquals($ret, '1'); 67 68 $ret = $cpr->getDescription(); 69 $this->assertEquals($ret, '2'); 70 71 $ret = $cpr->getCopyright(); 72 $this->assertEquals($ret, '3'); 73 74 $ret = $cpr->getLanguage(); 75 $this->assertEquals($ret, 'en'); 76 77 $cpr->setTitle('11'); 78 $cpr->update(); 79 80 $cpr->delete(); 81 } 82 83 /** 84 * test annotation 85 * @group IL_Init 86 * @param 87 * @return 88 */ 89 public function testAnnotation() 90 { 91 include_once './Services/MetaData/classes/class.ilMDAnnotation.php'; 92 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 93 94 $ann = new ilMDAnnotation(1, 2, 'xxx'); 95 $ann->setDescription("desc"); 96 $ann->setDescriptionLanguage(new ilMDLanguageItem('en')); 97 $ann->setEntity('ent'); 98 $ann->setDate('date'); 99 $ret = $ann->save(); 100 $this->assertGreaterThan(0, $ret); 101 102 $ann->setDescription('desc2'); 103 $ann->update(); 104 $ann->read(); 105 $desc = $ann->getDescription(); 106 $this->assertEquals('desc2', $desc); 107 108 $ann->delete(); 109 } 110 111 /** 112 * test classification 113 * @group IL_Init 114 * @param 115 * @return 116 */ 117 public function testClassification() 118 { 119 include_once './Services/MetaData/classes/class.ilMDClassification.php'; 120 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 121 122 $ann = new ilMDClassification(1, 2, 'xxx'); 123 $ann->setDescription("desc"); 124 $ann->setDescriptionLanguage(new ilMDLanguageItem('en')); 125 $ann->setPurpose('purp'); 126 $ret = $ann->save(); 127 $this->assertGreaterThan(0, $ret); 128 129 $ann->setDescription('desc2'); 130 $ann->update(); 131 $ann->read(); 132 $desc = $ann->getDescription(); 133 $this->assertEquals('desc2', $desc); 134 135 $ann->delete(); 136 } 137 138 /** 139 * test contribute 140 * @group IL_Init 141 * @return 142 */ 143 public function testContribute() 144 { 145 include_once './Services/MetaData/classes/class.ilMDContribute.php'; 146 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 147 148 $con = new ilMDContribute(1, 2, 'xxx'); 149 $con->setDate('date'); 150 $con->setRole('ScriptWriter'); 151 $ret = $con->save(); 152 $this->assertGreaterThan(0, $ret); 153 154 $con->setDate('desc2'); 155 $con->update(); 156 $con->read(); 157 $desc = $con->getDate(); 158 $this->assertEquals('desc2', $desc); 159 160 $con->delete(); 161 } 162 163 /** 164 * test Description 165 * @group IL_Init 166 * @return 167 */ 168 public function testDescription() 169 { 170 include_once './Services/MetaData/classes/class.ilMDDescription.php'; 171 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 172 173 $con = new ilMDDescription(1, 2, 'xxx'); 174 $con->setDescription('date'); 175 $con->setDescriptionLanguage(new ilMDLanguageItem('en')); 176 $ret = $con->save(); 177 $this->assertGreaterThan(0, $ret); 178 179 $con->setDescription('desc2'); 180 $con->update(); 181 $con->read(); 182 $desc = $con->getDescription(); 183 $this->assertEquals('desc2', $desc); 184 185 $con->delete(); 186 } 187 188 /** 189 * test Educational 190 * @group IL_Init 191 * @return 192 */ 193 public function testEducational() 194 { 195 include_once './Services/MetaData/classes/class.ilMDEducational.php'; 196 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 197 198 $con = new ilMDEducational(1, 2, 'xxx'); 199 $con->setDifficulty('Easy'); 200 $ret = $con->save(); 201 $this->assertGreaterThan(0, $ret); 202 203 $con->setDifficulty('Medium'); 204 $con->update(); 205 $con->read(); 206 $desc = $con->getDifficulty(); 207 $this->assertEquals('Medium', $desc); 208 209 $con->delete(); 210 } 211 212 /** 213 * test Entity 214 * @group IL_Init 215 * @return 216 */ 217 public function testEntity() 218 { 219 include_once './Services/MetaData/classes/class.ilMDEntity.php'; 220 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 221 222 $con = new ilMDEntity(1, 2, 'xxx'); 223 $con->setEntity('Easy'); 224 $ret = $con->save(); 225 $this->assertGreaterThan(0, $ret); 226 227 $con->setEntity('Medium'); 228 $con->update(); 229 $con->read(); 230 $desc = $con->getEntity(); 231 $this->assertEquals('Medium', $desc); 232 233 $con->delete(); 234 } 235 236 /** 237 * test Format 238 * @group IL_Init 239 * @return 240 */ 241 public function testFormat() 242 { 243 include_once './Services/MetaData/classes/class.ilMDFormat.php'; 244 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 245 246 $con = new ilMDFormat(1, 2, 'xxx'); 247 $con->setFormat('Easy'); 248 $ret = $con->save(); 249 $this->assertGreaterThan(0, $ret); 250 251 $con->setFormat('Medium'); 252 $con->update(); 253 $con->read(); 254 $desc = $con->getFormat(); 255 $this->assertEquals('Medium', $desc); 256 257 $con->delete(); 258 } 259 260 /** 261 * test General 262 * @group IL_Init 263 * @return 264 */ 265 public function testGeneral() 266 { 267 include_once './Services/MetaData/classes/class.ilMDGeneral.php'; 268 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 269 270 $con = new ilMDGeneral(1, 2, 'xxx'); 271 $con->setCoverage('Easy'); 272 $ret = $con->save(); 273 $this->assertGreaterThan(0, $ret); 274 275 $con->setCoverage('Medium'); 276 $con->update(); 277 $con->read(); 278 $desc = $con->getCoverage(); 279 $this->assertEquals('Medium', $desc); 280 281 $con->delete(); 282 } 283 284 /** 285 * test Identifier 286 * @group IL_Init 287 * @return 288 */ 289 public function testIdentifier() 290 { 291 include_once './Services/MetaData/classes/class.ilMDIdentifier.php'; 292 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 293 294 $con = new ilMDIdentifier(1, 2, 'xxx'); 295 $con->setCatalog('Easy'); 296 $ret = $con->save(); 297 $this->assertGreaterThan(0, $ret); 298 299 $con->setCatalog('Medium'); 300 $con->update(); 301 $con->read(); 302 $desc = $con->getCatalog(); 303 $this->assertEquals('Medium', $desc); 304 305 $con->delete(); 306 } 307 308 /** 309 * test Identifier_ 310 * @group IL_Init 311 * @return 312 */ 313 public function testIdentifier_() 314 { 315 include_once './Services/MetaData/classes/class.ilMDIdentifier_.php'; 316 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 317 318 $con = new ilMDIdentifier_(1, 2, 'xxx'); 319 $con->setCatalog('Easy'); 320 $ret = $con->save(); 321 $this->assertGreaterThan(0, $ret); 322 323 $con->setCatalog('Medium'); 324 $con->update(); 325 $con->read(); 326 $desc = $con->getCatalog(); 327 $this->assertEquals('Medium', $desc); 328 329 $con->delete(); 330 } 331 332 /** 333 * test Keyword 334 * @group IL_Init 335 * @return 336 */ 337 public function testKeyword() 338 { 339 include_once './Services/MetaData/classes/class.ilMDKeyword.php'; 340 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 341 342 $con = new ilMDKeyword(1, 2, 'xxx'); 343 $con->setKeyword('Easy'); 344 $ret = $con->save(); 345 $this->assertGreaterThan(0, $ret); 346 347 $con->setKeyword('Medium'); 348 $con->update(); 349 $con->read(); 350 $desc = $con->getKeyword(); 351 $this->assertEquals('Medium', $desc); 352 353 $con->delete(); 354 } 355 356 /** 357 * test Language 358 * @group IL_Init 359 * @return 360 */ 361 public function testLanguage() 362 { 363 include_once './Services/MetaData/classes/class.ilMDLanguage.php'; 364 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 365 366 $con = new ilMDLanguage(1, 2, 'xxx'); 367 $con->setLanguage(new ilMDLanguageItem('en')); 368 $ret = $con->save(); 369 $this->assertGreaterThan(0, $ret); 370 371 $con->setLanguage(new ilMDLanguageItem('de')); 372 $con->update(); 373 $con->read(); 374 $desc = $con->getLanguageCode(); 375 $this->assertEquals('de', $desc); 376 377 $con->delete(); 378 } 379 380 /** 381 * test lifecycle 382 * @group IL_Init 383 * @return 384 */ 385 public function testLifecycle() 386 { 387 include_once './Services/MetaData/classes/class.ilMDLifecycle.php'; 388 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 389 390 $con = new ilMDLifecycle(1, 2, 'xxx'); 391 $con->setVersion(1); 392 $ret = $con->save(); 393 $this->assertGreaterThan(0, $ret); 394 395 $con->setVersion(2); 396 $con->update(); 397 $con->read(); 398 $desc = $con->getVersion(); 399 $this->assertEquals(2, $desc); 400 401 $con->delete(); 402 } 403 404 /** 405 * test Location 406 * @group IL_Init 407 * @return 408 */ 409 public function testLocation() 410 { 411 include_once './Services/MetaData/classes/class.ilMDLocation.php'; 412 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 413 414 $con = new ilMDLocation(1, 2, 'xxx'); 415 $con->setLocation(1); 416 $ret = $con->save(); 417 $this->assertGreaterThan(0, $ret); 418 419 $con->setLocation(2); 420 $con->update(); 421 $con->read(); 422 $desc = $con->getLocation(); 423 $this->assertEquals(2, $desc); 424 425 $con->delete(); 426 } 427 428 /** 429 * test MetaData 430 * @group IL_Init 431 * @return 432 */ 433 public function testMetaMetadata() 434 { 435 include_once './Services/MetaData/classes/class.ilMDMetaMetadata.php'; 436 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 437 438 $con = new ilMDMetaMetadata(1, 2, 'xxx'); 439 $con->setMetaDataScheme(1); 440 $ret = $con->save(); 441 $this->assertGreaterThan(0, $ret); 442 443 $con->setMetaDataScheme(2); 444 $con->update(); 445 $con->read(); 446 $desc = $con->getMetaDataScheme(); 447 $this->assertEquals('LOM v 1.0', $desc); 448 449 $con->delete(); 450 } 451 452 /** 453 * test MetaData 454 * @group IL_Init 455 * @return 456 */ 457 public function testRelation() 458 { 459 include_once './Services/MetaData/classes/class.ilMDRelation.php'; 460 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 461 462 $con = new ilMDRelation(1, 2, 'xxx'); 463 $con->setKind('IsVersionOf'); 464 $ret = $con->save(); 465 $this->assertGreaterThan(0, $ret); 466 467 $con->setKind('HasVersion'); 468 $con->update(); 469 $con->read(); 470 $desc = $con->getKind(); 471 $this->assertEquals('HasVersion', $desc); 472 473 $con->delete(); 474 } 475 476 /** 477 * test MetaData 478 * @group IL_Init 479 * @return 480 */ 481 public function testRequirement() 482 { 483 include_once './Services/MetaData/classes/class.ilMDRequirement.php'; 484 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 485 486 $con = new ilMDRequirement(1, 2, 'xxx'); 487 $con->setBrowserName('Amaya'); 488 $ret = $con->save(); 489 $this->assertGreaterThan(0, $ret); 490 491 $con->setBrowserName('Opera'); 492 $con->update(); 493 $con->read(); 494 $desc = $con->getBrowserName(); 495 $this->assertEquals('Opera', $desc); 496 497 $con->delete(); 498 } 499 500 /** 501 * test MetaData 502 * @group IL_Init 503 * @return 504 */ 505 public function testRights() 506 { 507 include_once './Services/MetaData/classes/class.ilMDRights.php'; 508 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 509 510 $con = new ilMDRights(1, 2, 'xxx'); 511 $con->setDescription('Amaya'); 512 $ret = $con->save(); 513 $this->assertGreaterThan(0, $ret); 514 515 $con->setDescription('Opera'); 516 $con->update(); 517 $con->read(); 518 $desc = $con->getDescription(); 519 $this->assertEquals('Opera', $desc); 520 521 $con->delete(); 522 } 523 524 /** 525 * test MetaData 526 * @group IL_Init 527 * @return 528 */ 529 public function testTaxon() 530 { 531 include_once './Services/MetaData/classes/class.ilMDTaxon.php'; 532 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 533 534 $con = new ilMDTaxon(1, 2, 'xxx'); 535 $con->setTaxon('Amaya'); 536 $ret = $con->save(); 537 $this->assertGreaterThan(0, $ret); 538 539 $con->setTaxon('Opera'); 540 $con->update(); 541 $con->read(); 542 $desc = $con->getTaxon(); 543 $this->assertEquals('Opera', $desc); 544 545 $con->delete(); 546 } 547 548 /** 549 * test MetaData 550 * @group IL_Init 551 * @return 552 */ 553 public function testTaxonPath() 554 { 555 include_once './Services/MetaData/classes/class.ilMDTaxonPath.php'; 556 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 557 558 $con = new ilMDTaxonPath(1, 2, 'xxx'); 559 $con->setSource('Amaya'); 560 $ret = $con->save(); 561 $this->assertGreaterThan(0, $ret); 562 563 $con->setSource('Opera'); 564 $con->update(); 565 $con->read(); 566 $desc = $con->getSource(); 567 $this->assertEquals('Opera', $desc); 568 569 $con->delete(); 570 } 571 572 /** 573 * test MetaData 574 * @group IL_Init 575 * @return 576 */ 577 public function testTechnical() 578 { 579 include_once './Services/MetaData/classes/class.ilMDTechnical.php'; 580 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 581 582 $con = new ilMDTechnical(1, 2, 'xxx'); 583 $con->setSize('Amaya'); 584 $ret = $con->save(); 585 $this->assertGreaterThan(0, $ret); 586 587 $con->setSize('Opera'); 588 $con->update(); 589 $con->read(); 590 $desc = $con->getSize(); 591 $this->assertEquals('Opera', $desc); 592 593 $con->delete(); 594 } 595 596 /** 597 * test MetaData 598 * @group IL_Init 599 * @return 600 */ 601 public function testTypicalAgeRange() 602 { 603 include_once './Services/MetaData/classes/class.ilMDTypicalAgeRange.php'; 604 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php'; 605 606 $con = new ilMDTypicalAgeRange(1, 2, 'xxx'); 607 $con->setTypicalAgeRange('12-22'); 608 $ret = $con->save(); 609 $this->assertGreaterThan(0, $ret); 610 611 $con->setTypicalAgeRange('12-14'); 612 $con->update(); 613 $con->read(); 614 $desc = $con->getTypicalAgeRange(); 615 $this->assertEquals('12-14', $desc); 616 617 $con->delete(); 618 } 619} 620