/** * @dataProvider searchBalanceQueryData */ public function testgetBalanceSearchQuery($data, $expectedStr, $expectedParams) { $di = new \Box_Di(); $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $clientBalanceService = new \Box\Mod\Client\ServiceBalance(); $clientBalanceService->setDi($di); list($sql, $params) = $clientBalanceService->getSearchQuery($data); $this->assertNotEmpty($sql); $this->assertInternalType('string', $sql); $this->assertInternalType('array', $params); $this->assertTrue(strpos($sql, $expectedStr) !== false, $sql); $this->assertTrue(array_diff_key($params, $expectedParams) == array()); }