From 562979c4a8fe47952edf7986d4144624e41630f7 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 4 Dec 2006 02:42:57 +0000 Subject: add unit tests for active record and sqlmap --- tests/simple_unit/SqlMap/PropertyAccessTest.php | 77 +++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tests/simple_unit/SqlMap/PropertyAccessTest.php (limited to 'tests/simple_unit/SqlMap/PropertyAccessTest.php') diff --git a/tests/simple_unit/SqlMap/PropertyAccessTest.php b/tests/simple_unit/SqlMap/PropertyAccessTest.php new file mode 100644 index 00000000..38573f4e --- /dev/null +++ b/tests/simple_unit/SqlMap/PropertyAccessTest.php @@ -0,0 +1,77 @@ +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->assertIdentical(10, TPropertyAccess::get($account, 'Id')); + $this->assertIdentical(12, TPropertyAccess::get($account, 'More.Id')); + $this->assertIdentical(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->assertIdentical(10, TPropertyAccess::get($account, 'Id')); + $this->assertIdentical(12, TPropertyAccess::get($account, 'More.Id')); + $this->assertIdentical(6, TPropertyAccess::get($account, 'More.More.Id')); + + $this->assertIdentical('hahaha', + TPropertyAccess::get($account, 'More.More.EmailAddress')); + } + + function testArrayAccessProperty() + { + $account = new AccountBis(); + $things['more'] = 1; + $things['accounts'] = $this->NewAccount6(); + $account->More = $things; + + $this->assertIdentical(6, TPropertyAccess::get($account, 'More.accounts.ID')); + + TPropertyAccess::set($account, 'More.accounts.EmailAddress', 'adssd'); + $this->assertIdentical('adssd', TPropertyAccess::get($account, 'More.accounts.EmailAddress')); + + $this->assertIdentical(1, TPropertyAccess::get($things, 'more')); + } + +} + + +?> \ No newline at end of file -- cgit v1.2.3