public function testCreateAndNewRecordSave()
 {
     $player = Player::create(['name' => 'foo']);
     /*
     *	typeを明示しなければ各クラスで定義されたフィールドを持ち、
     *	typeには呼び出したクラス名が挿入される
     */
     $this->assertInstanceOf('App\\Model\\Player', $player);
     $this->assertEquals(['name' => 'foo', 'type' => 'Player', 'id' => $player->id], Player::read($player->id)->getData());
     $footballer = FootBaller::create();
     $this->assertInstanceOf('App\\Model\\FootBaller', $footballer);
     $this->assertEquals(['name' => null, 'type' => 'FootBaller', 'club' => null, 'id' => $footballer->id], Player::read($footballer->id)->getData());
     $cricketer = Player::newRecord(['name' => 'bar', 'type' => 'Cricketer', 'batting_average' => 10]);
     print_r($cricketer);
     $this->assertInstanceOf('App\\Model\\Cricketer', $cricketer);
     $this->assertEquals(true, $cricketer->save());
     $this->assertEquals(['name' => 'bar', 'type' => 'Cricketer', 'batting_average' => 10, 'id' => $cricketer->id], Player::read($cricketer->id)->getData());
     $bowller = Player::create(['name' => 'bar', 'type' => 'Bowller', 'batting_average' => 10]);
     $bowller->bowling_average = 100;
     $this->assertInstanceOf('App\\Model\\Bowller', $bowller);
     $this->assertEquals(['name' => 'bar', 'type' => 'Bowller', 'batting_average' => 10, 'bowling_average' => 100, 'id' => $bowller->id], Bowller::read($bowller->id)->getData());
     /*
     *	update
     */
     $bowller->name = 'modified';
     $this->assertEquals(true, $bowller->save());
     $this->assertEquals(['name' => 'modified', 'type' => 'Bowller', 'batting_average' => 10, 'bowling_average' => 100, 'id' => $bowller->id], Player::read($bowller->id)->getData());
 }