public function testSave()
{
$embedder = $this->dm->find($this->type, 1);
// change the first element
$embedder->embeds[0]->name = 'changed 1';
// add another one
$newOne = new Embedded();
$newOne->name = 'new one';
$embedder->embeds[] = $newOne;
$this->dm->flush();
$this->dm->clear();
$embedder = $this->dm->find($this->type, 1);
$this->assertEquals(3, count($embedder->embeds));
$this->assertEquals('new one', $embedder->embeds[2]->name);
$embedder->embeds[0]->name = 'changed';
$embedder->name = 'foo';
$embedder->embeds[0]->arrayField[] = 'bar';
$this->dm->flush();
$this->dm->clear();
$embedder = $this->dm->find($this->type, 1);
$this->assertEquals(3, count($embedder->embeds));
$this->assertEquals('foo', $embedder->name);
$this->assertEquals('changed', $embedder->embeds[0]->name);
$this->assertEquals(1, count($embedder->embeds[0]->arrayField));
$this->assertEquals('bar', $embedder->embeds[0]->arrayField[0]);
}