/**
  * test that saving habtm records respects conditions set in the 'conditions' key
  * for the association.
  *
  * @return void
  */
 public function testHabtmSaveWithConditionsInAssociation()
 {
     $this->loadFixtures('JoinThing', 'Something', 'SomethingElse');
     $Something = new Something();
     $Something->unbindModel(array('hasAndBelongsToMany' => array('SomethingElse')), false);
     $Something->bindModel(array('hasAndBelongsToMany' => array('DoomedSomethingElse' => array('className' => 'SomethingElse', 'joinTable' => 'join_things', 'conditions' => array('JoinThing.doomed' => true), 'unique' => true), 'NotDoomedSomethingElse' => array('className' => 'SomethingElse', 'joinTable' => 'join_things', 'conditions' => array('JoinThing.doomed' => 0), 'unique' => true))), false);
     $result = $Something->read(null, 1);
     $this->assertTrue(empty($result['NotDoomedSomethingElse']));
     $this->assertEquals(1, count($result['DoomedSomethingElse']));
     $data = array('Something' => array('id' => 1), 'NotDoomedSomethingElse' => array('NotDoomedSomethingElse' => array(array('something_else_id' => 2, 'doomed' => 0), array('something_else_id' => 3, 'doomed' => 0))));
     $Something->create($data);
     $result = $Something->save();
     $this->assertFalse(empty($result));
     $result = $Something->read(null, 1);
     $this->assertEquals(2, count($result['NotDoomedSomethingElse']));
     $this->assertEquals(1, count($result['DoomedSomethingElse']));
 }