public function testObjectCustomise()
 {
     $viewableData = new ViewableDataTest_Castable();
     $newViewableData = $viewableData->customise(new ViewableDataTest_RequiresCasting());
     $this->assertEquals('test', $viewableData->XML_val('test'));
     $this->assertEquals('casted', $viewableData->XML_val('alwaysCasted'));
     $this->assertEquals('overwritten', $newViewableData->XML_val('test'));
     $this->assertEquals('casted', $newViewableData->XML_val('alwaysCasted'));
     $this->assertEquals('castable', $viewableData->forTemplate());
     $this->assertEquals('casted', $newViewableData->forTemplate());
 }
 public function testATTVal()
 {
     $data = new ViewableDataTest_Castable();
     $data->test = '"this is a test"';
     $this->assertEquals($data->ATT_val('test'), '"this is a test"');
 }