def test_walker_create_complex_query(session): query = Tag('foo') & Starred() | ~Tag('foo') & ~Starred() entries = walker.create(query, session) assert len(entries) == 5 tag = tables.Tag('foo') tag.id = 1 fits_header_entry = tables.FitsHeaderEntry('INSTRUME', 'EIT') fits_header_entry.id = 1 assert tables.DatabaseEntry(id=1, download_time=datetime(2005, 6, 15, 1)) in entries assert tables.DatabaseEntry(id=3, path='/tmp', download_time=datetime(2005, 6, 15, 3)) in entries assert tables.DatabaseEntry(id=7, download_time=datetime(2005, 6, 15, 7)) in entries assert tables.DatabaseEntry(id=9, path='/tmp', download_time=datetime(2005, 6, 15, 9)) in entries assert tables.DatabaseEntry(id=10, starred=True, tags=[tag], download_time=datetime(2005, 6, 15, 10), fits_header_entries=[fits_header_entry ]) in entries
def test_walker_create_ored_query(session): entries = walker.create(Tag('foo') | Starred(), session) assert len(entries) == 6 tag = tables.Tag('foo') tag.id = 1 fits_header_entry = tables.FitsHeaderEntry('INSTRUME', 'EIT') fits_header_entry.id = 1 assert tables.DatabaseEntry(id=2, starred=True, download_time=datetime(2005, 6, 15, 2)) in entries assert tables.DatabaseEntry(id=4, starred=True, download_time=datetime(2005, 6, 15, 4)) in entries assert tables.DatabaseEntry(id=5, tags=[tag], download_time=datetime(2005, 6, 15, 5)) in entries assert tables.DatabaseEntry(id=6, path='/tmp', starred=True, download_time=datetime(2005, 6, 15, 6)) in entries assert tables.DatabaseEntry(id=8, starred=True, download_time=datetime(2005, 6, 15, 8)) in entries assert tables.DatabaseEntry(id=10, starred=True, tags=[tag], download_time=datetime(2005, 6, 15, 10), fits_header_entries=[fits_header_entry ]) in entries
def test_walker_create_tag_negative(session): entries = walker.create(~Tag('foo'), session) assert len(entries) == 8 assert entries == [ tables.DatabaseEntry(id=1, download_time=datetime(2005, 6, 15, 1)), tables.DatabaseEntry(id=2, starred=True, download_time=datetime(2005, 6, 15, 2)), tables.DatabaseEntry(id=3, path='/tmp', download_time=datetime(2005, 6, 15, 3)), tables.DatabaseEntry(id=4, starred=True, download_time=datetime(2005, 6, 15, 4)), tables.DatabaseEntry(id=6, path='/tmp', starred=True, download_time=datetime(2005, 6, 15, 6)), tables.DatabaseEntry(id=7, download_time=datetime(2005, 6, 15, 7)), tables.DatabaseEntry(id=8, starred=True, download_time=datetime(2005, 6, 15, 8)), tables.DatabaseEntry(id=9, path='/tmp', download_time=datetime(2005, 6, 15, 9)) ]
def test_walker_create_anded_query(session): entries = walker.create(Tag('foo') & Starred(), session) assert len(entries) == 1 tag = tables.Tag('foo') tag.id = 1 fits_header_entry = tables.FitsHeaderEntry('INSTRUME', 'EIT') fits_header_entry.id = 1 assert tables.DatabaseEntry( id=10, starred=True, tags=[tag], download_time=datetime(2005, 6, 15, 10), fits_header_entries=[fits_header_entry]) in entries
def test_walker_create_tag_positive(session): entries = walker.create(Tag('foo'), session) tag = tables.Tag('foo') tag.id = 1 fits_header_entry = tables.FitsHeaderEntry('INSTRUME', 'EIT') fits_header_entry.id = 1 assert len(entries) == 2 assert entries == [ tables.DatabaseEntry( id=5, tags=[tag], download_time=datetime(2005, 6, 15, 5)), tables.DatabaseEntry( id=10, starred=True, tags=[tag], download_time=datetime(2005, 6, 15, 10), fits_header_entries=[fits_header_entry])]
def test_tag_repr(): assert repr(Tag('foo')) == "<Tag('foo')>" assert repr(~Tag('foo')) == "<~Tag('foo')>"