public function it_should_allow_asserting_queries_by_function()
{
$this->wpdb->queries = [['INSERT INTO ... (SELECT * ...)', 'some ms timing', 'a stack trace including functionOne'], ['SELECT ID FROM ... (SELECT...)', 'some ms timing', 'a stack trace including functionTwo'], ['SELECT * FROM ... INSERT', 'some ms timing', 'a stack trace including functionTwo'], ['UPDATE some_table... (SELECT', 'some ms timing', 'a stack trace including functionThree']];
$sut = $this->make_instance();
$sut->assertQueriesByFunction('functionOne');
$sut->assertQueriesCountByFunction(2, 'functionTwo');
$sut->assertNotQueriesByFunction('someFunction');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertQueriesByFunction('functionFour');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertQueriesByFunction('functionFour');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertQueriesCountByFunction(3, 'functionTwo');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertNotQueriesByFunction('functionTwo');
}