public function testConditions() {
$result = $this->db->conditions(null, null);
$this->assertEqual(array(), $result);
$function = 'function() { return this.x < y;}';
$conditions = new MongoCode($function);
$result = $this->db->conditions($conditions, null);
$this->assertTrue(is_array($result));
$this->assertTrue(isset($result['$where']));
$this->assertEqual($conditions, $result['$where']);
$conditions = $function;
$result = $this->db->conditions($conditions, null);
$this->assertTrue(is_array($result));
$this->assertTrue(isset($result['$where']));
$this->assertEqual($conditions, $result['$where']);
$conditions = array('key' => 'value', 'anotherkey' => 'some other value');
$result = $this->db->conditions($conditions, null);
$this->assertTrue(is_array($result));
$this->assertEqual($conditions, $result);
$conditions = array('key' => array('one', 'two', 'three'));
$result = $this->db->conditions($conditions, null);
$this->assertTrue(is_array($result));
$this->assertTrue(isset($result['key']));
$this->assertTrue(isset($result['key']['$in']));
$this->assertEqual($conditions['key'], $result['key']['$in']);
}