public function it_should_allow_asserting_queries_by_filter()
{
$this->wpdb->queries = [['INSERT INTO ... (SELECT * ...)', 'some ms timing', "a stack trace including apply_filters('filterOne')"], ['SELECT ID FROM ... (SELECT...)', 'some ms timing', "a stack trace including apply_filters('filterTwo')"], ['SELECT * FROM ... INSERT', 'some ms timing', "a stack trace including apply_filters('filterTwo')"], ['UPDATE some_table... (SELECT', 'some ms timing', "a stack trace including apply_filters('filterThree')"]];
$sut = $this->make_instance();
$sut->assertQueriesByFilter('filterOne');
$sut->assertQueriesCountByFilter(2, 'filterTwo');
$sut->assertNotQueriesByFilter('someFilter');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertQueriesByFilter('filterFour');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertQueriesCountByFilter(3, 'filterTwo');
$this->expectException('PHPUnit_Framework_AssertionFailedError');
$sut->assertNotQueriesByFilter('filterTwo');
}