function setUp()
  {
    $this->sql = new MockComplexSelectSQL($this);
    $this->conn = new MockMySQLConnection($this);
    $this->stmt = new MockMySqlQueryStatement($this);

    $toolkit = new MockLimbToolkit($this);
    $toolkit->setReturnReference('getDbConnection', $this->conn);

    $this->dao = new SQLBasedDAOTestVersion($this);
    $this->dao->setReturnReference('_initSQL', $this->sql);

    $this->dao->SQLBasedDAO();

    Limb :: registerToolkit($toolkit);
  }
  function testFindCountSqlNoGroup()
  {
    $db_mock = new MockDbModule($this);
    $toolkit = new MockLimbToolkit($this);

    $toolkit->setReturnValue('getDB', $db_mock);

    Limb :: registerToolkit($toolkit);

    $sql_params['tables'][] = ',table1';
    $sql_params['tables'][] = ',table2';

    $sql_params['conditions'][] = 'OR cond1';
    $sql_params['conditions'][] = 'AND cond2';

    $expectation = new WantedPatternExpectation(
    "~^SELECT COUNT\(sso\.id\) as count.*FROM sys_site_object as sso ,table1 ,table2.*WHERE sso\.id OR cond1 AND cond2~s");

    $db_mock->expectOnce('sqlExec', array($expectation));
    $db_mock->expectNever('countSelectedRows');
    $db_mock->expectOnce('fetchRow');
    $db_mock->setReturnValue('fetchRow', array('count' => 10));

    $this->assertEqual(10, $this->finder->findCount($sql_params));

    Limb :: popToolkit();

    $db_mock->tally();
  }