public function testRelField() { $captain = $this->objFromFixture('DataObjectTest_Player', 'captain1'); // Test traversal of a single has_one $this->assertEquals("Team 1", $captain->relField('FavouriteTeam.Title')); // Test direct field access $this->assertEquals("Captain", $captain->relField('FirstName')); $player = $this->objFromFixture('DataObjectTest_Player', 'player2'); // Test that we can traverse more than once, and that arbitrary methods are okay $this->assertEquals("Team 1", $player->relField('Teams.First.Title')); $newPlayer = new DataObjectTest_Player(); $this->assertNull($newPlayer->relField('Teams.First.Title')); // Test that relField works on db field manipulations $comment = $this->objFromFixture('DataObjectTest_TeamComment', 'comment3'); $this->assertEquals("PHIL IS A UNIQUE GUY, AND COMMENTS ON TEAM2", $comment->relField('Comment.UpperCase')); }