public function testCondition()
{
$item1 = new Item();
$item1->setTitle('Item Condition 1 Hi');
$item1->save();
$item2 = new Item();
$item2->setTitle('Item Condition 2 Hi');
$item2->save();
$condition1 = array(array('id', '=', $item1->getId()));
$condition2 = array(array('id', '>=', $item1->getId()));
$condition3 = array(array('id', '>', $item1->getId()));
$condition4 = array(array('title', '=', 'Item Condition 2 Hi'));
$condition5 = array(array('title', 'LIKE', 'Item Condition %'));
$condition6 = array(array('title', 'LIKE', 'Item Condition _ Hi'));
$condition7 = array(array('title', 'LIKE', 'Item Condition _'));
$arrayItem1 = $this->getObjects()->get('Test\\Item', $item1->getId());
$arrayItem2 = $this->getObjects()->get('Test\\Item', $item2->getId());
$this->assertTrue($this->getConditionOperator()->satisfy($condition1, $arrayItem1));
$this->assertTrue($this->getConditionOperator()->satisfy($condition2, $arrayItem1));
$this->assertFalse($this->getConditionOperator()->satisfy($condition3, $arrayItem1));
$this->assertFalse($this->getConditionOperator()->satisfy($condition1, $arrayItem2));
$this->assertTrue($this->getConditionOperator()->satisfy($condition2, $arrayItem2));
$this->assertTrue($this->getConditionOperator()->satisfy($condition3, $arrayItem2));
$this->assertFalse($this->getConditionOperator()->satisfy($condition4, $arrayItem1));
$this->assertTrue($this->getConditionOperator()->satisfy($condition4, $arrayItem2));
$this->assertTrue($this->getConditionOperator()->satisfy($condition5, $arrayItem1));
$this->assertTrue($this->getConditionOperator()->satisfy($condition5, $arrayItem2));
$this->assertTrue($this->getConditionOperator()->satisfy($condition6, $arrayItem1));
$this->assertTrue($this->getConditionOperator()->satisfy($condition6, $arrayItem2));
$this->assertFalse($this->getConditionOperator()->satisfy($condition7, $arrayItem1));
$this->assertFalse($this->getConditionOperator()->satisfy($condition7, $arrayItem2));
}