'Test that the results are the same regardless of the `fast` flag
for negated `FieldQuery`s.
TODO: investigate NoneQuery(fast=False), as it is raising
AttributeError: type object \'NoneQuery\' has no attribute \'field\'
at NoneQuery.match() (due to being @classmethod, and no self?)'

def test_fast_vs_slow(self):

    classes = [(dbcore.query.DateQuery, [u'added', u'2001-01-01']), (dbcore.query.MatchQuery, [u'artist', u'one']), (dbcore.query.NumericQuery, [u'year', u'2002']), (dbcore.query.StringFieldQuery, [u'year', u'2001']), (dbcore.query.RegexpQuery, [u'album', u'^.a']), (dbcore.query.SubstringQuery, [u'title', u'x'])]
    for (klass, args) in classes:
        q_fast = dbcore.query.NotQuery(klass(*(args + [True])))
        q_slow = dbcore.query.NotQuery(klass(*(args + [False])))
        try:
            self.assertEqual([i.title for i in self.lib.items(q_fast)], [i.title for i in self.lib.items(q_slow)])
        except NotImplementedError:
            pass
