/**
  * BitmaskedBehaviorTest::testNotContains()
  *
  * @return void
  */
 public function testNotContains()
 {
     $res = $this->Comments->containsNotBit(BitmaskedComment::STATUS_PUBLISHED);
     $expected = ['(BitmaskedComments.status & 2 != 2)'];
     $this->assertEquals($expected, $res);
     $conditions = $res;
     $res = $this->Comments->find('all', ['conditions' => $conditions])->toArray();
     $this->assertTrue(!empty($res) && count($res) === 4);
     // multiple (AND)
     $res = $this->Comments->containsNotBit([BitmaskedComment::STATUS_PUBLISHED, BitmaskedComment::STATUS_ACTIVE]);
     $expected = ['(BitmaskedComments.status & 3 != 3)'];
     $this->assertEquals($expected, $res);
     $conditions = $res;
     $res = $this->Comments->find('all', ['conditions' => $conditions])->toArray();
     $this->assertTrue(!empty($res) && count($res) === 5);
 }
 /**
  * @return void
  */
 public function testNotContains()
 {
     $config = $this->Comments->connection()->config();
     $isPostgres = strpos($config['driver'], 'Postgres') !== false;
     $res = $this->Comments->containsNotBit(BitmaskedComment::STATUS_PUBLISHED);
     $expected = ['(BitmaskedComments.status & 2 != 2)'];
     if ($isPostgres) {
         $expected = ['("BitmaskedComments"."status" & 2 != 2)'];
     }
     $this->assertEquals($expected, $res);
     $conditions = $res;
     $res = $this->Comments->find('all', ['conditions' => $conditions])->toArray();
     $this->assertTrue(!empty($res) && count($res) === 4);
     // multiple (AND)
     $res = $this->Comments->containsNotBit([BitmaskedComment::STATUS_PUBLISHED, BitmaskedComment::STATUS_ACTIVE]);
     $expected = ['(BitmaskedComments.status & 3 != 3)'];
     if ($isPostgres) {
         $expected = ['("BitmaskedComments"."status" & 3 != 3)'];
     }
     $this->assertEquals($expected, $res);
     $conditions = $res;
     $res = $this->Comments->find('all', ['conditions' => $conditions])->toArray();
     $this->assertTrue(!empty($res) && count($res) === 5);
 }