setConfigEntry("default_application", "ship-simu"); // Set testing mode (no starter.php will be loaded!) define('TEST_MODE', true); // Load the PHPUnit framework require_once("PHPUnit/Framework.php"); /** * A test case for the configuration sub system * */ class ConfigTest extends PHPUnit_Framework_TestCase { /** * Tests the exception ConfigEntryNotFoundException if it is being thrown. * Else the test shall fail * * @return void */ public function testConfigEntryNotFoundException () { // Now try the test $testPassed = false; try { // Get a configuration instance $cfg = FrameworkConfiguration::getInstance(); // Now find a configuration variable that does not exist $dummy = $cfg->readConfig("does_not_exist"); } catch (ConfigEntryNotFoundException $expected) { // This exception was expected, so it is fine $testPassed = true; } catch (FrameworkException $unexptected) { // This exception was not expected! $this->fail(sprintf("Unexpected exception %s detected.", $unexpected->__toString())); } if (!$testPassed) { // This test went wrong $this->fail("Test of thrown exception ConfigEntryNotFoundException failed!"); } } /** * Tests if the exception ConfigEntryIsEmptyException is being thrown by * "emulating" an empty configuration variable. * * @return void */ public function testConfigEntryIsEmptyExceptionRead () { // Now try the test $testPassed = false; try { // Get a configuration instance $cfg = FrameworkConfiguration::getInstance(); // Try to read an empty configuration variable $dummy = $cfg->readConfig(""); } catch (ConfigEntryIsEmptyException $expected) { // This exception was expected, so it is fine $testPassed = true; } catch (FrameworkException $unexptected) { // This exception was not expected! $this->fail(sprintf("Unexpected exception %s detected.", $unexpected->__toString())); } if (!$testPassed) { // This test went wrong $this->fail("Test of thrown exception ConfigEntryIsEmptyException failed!"); } } /** * Tests if the exception ConfigEntryIsEmptyException is being thrown by * "emulating" an empty configuration variable. * * @return void */ public function testConfigEntryIsEmptyExceptionWrite () { // Now try the test $testPassed = false; try { // Get a configuration instance $cfg = FrameworkConfiguration::getInstance(); // Try to read an empty configuration variable $cfg->setConfigEntry("", "will_never_be_set"); } catch (ConfigEntryIsEmptyException $expected) { // This exception was expected, so it is fine $testPassed = true; } catch (FrameworkException $unexptected) { // This exception was not expected! $this->fail(sprintf("Unexpected exception %s detected.", $unexpected->__toString())); } if (!$testPassed) { // This test went wrong $this->fail("Test of thrown exception ConfigEntryIsEmptyException failed!"); } } /** * Tests if a set value can be returned from the configuration sub-system * * @return void */ public function testWriteReadConfigEntry () { // Try it here $value = "This is a test value"; try { // Get a configuration instance $cfg = FrameworkConfiguration::getInstance(); // Try to read an empty configuration variable $cfg->setConfigEntry("test_key", "{$value}"); // Read the config entry we have just written $readValue = $cfg->readConfig("test_key"); // Now test the values $this->assertEquals($value, $readValue); } catch (FrameworkException $unexptected) { // This exception was not expected! $this->fail(sprintf("Unexpected exception %s detected.", $unexpected->__toString())); } } } ?>