From f6a5e7589396854e10e023c25237b47e512ff047 Mon Sep 17 00:00:00 2001 From: wei <> Date: Fri, 14 Apr 2006 11:23:56 +0000 Subject: Adding SQLMap unit tests. Allow sqlmap to use Prado's caching module to cache records. --- tests/unit/SQLMap/PropertyAccessTest.php | 78 ++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tests/unit/SQLMap/PropertyAccessTest.php (limited to 'tests/unit/SQLMap/PropertyAccessTest.php') diff --git a/tests/unit/SQLMap/PropertyAccessTest.php b/tests/unit/SQLMap/PropertyAccessTest.php new file mode 100644 index 00000000..96b942dc --- /dev/null +++ b/tests/unit/SQLMap/PropertyAccessTest.php @@ -0,0 +1,78 @@ +Id = 10; + $account->FirstName = "Luky"; + $account->LastName = "Luke"; + $account->EmailAddress = "luly.luke@somewhere.com"; + + $two = new AccountBis(); + $two->Id = 12; + $two->FirstName = "Mini Me!"; + $account->More = $two; + + $account6 = $this->NewAccount6(); + $two->More = $account6; + + $this->assertEquals(10, TPropertyAccess::get($account, 'Id')); + $this->assertEquals(12, TPropertyAccess::get($account, 'More.Id')); + $this->assertEquals(6, TPropertyAccess::get($account, 'More.More.Id')); + } + + function testSetPublicProperty() + { + $account = new AccountBis(); + + $account->Id = 10; + $account->FirstName = "Luky"; + $account->LastName = "Luke"; + $account->EmailAddress = "luly.luke@somewhere.com"; + + $two = new AccountBis(); + $two->Id = 12; + $two->FirstName = "Mini Me!"; + TPropertyAccess::set($account, 'More', $two); + + $account6 = $this->NewAccount6(); + TPropertyAccess::set($account, 'More.More', $account6); + + TPropertyAccess::set($account, 'More.More.EmailAddress', 'hahaha'); + + $this->assertEquals(10, TPropertyAccess::get($account, 'Id')); + $this->assertEquals(12, TPropertyAccess::get($account, 'More.Id')); + $this->assertEquals(6, TPropertyAccess::get($account, 'More.More.Id')); + + $this->assertEquals('hahaha', + TPropertyAccess::get($account, 'More.More.EmailAddress')); + } + + function testArrayAccessProperty() + { + $account = new AccountBis(); + $things['more'] = 1; + $things['accounts'] = $this->NewAccount6(); + $account->More = $things; + + $this->assertEquals(6, TPropertyAccess::get($account, 'More.accounts.ID')); + + TPropertyAccess::set($account, 'More.accounts.EmailAddress', 'adssd'); + $this->assertEquals('adssd', TPropertyAccess::get($account, 'More.accounts.EmailAddress')); + + $this->assertEquals(1, TPropertyAccess::get($things, 'more')); + } + +} + + +?> \ No newline at end of file -- cgit v1.2.3