# Copyright 2021 (c) Anna Schumaker. import db import sqlite3 import unittest from gi.repository import GObject class TestYearTable(unittest.TestCase): def setUp(self): db.reset() def test_year_table_init(self): self.assertIsInstance(db.year.Table, db.year.YearTable) db.sql.execute("SELECT yearid,decadeid,plstateid,year FROM years") def test_year_table_insert(self): decade = db.decade.Table.insert(2020) year = db.year.Table.insert(2021) self.assertIsInstance(year, db.year.Year) self.assertIsInstance(year, db.objects.Row) self.assertEqual(year.year, 2021) self.assertEqual(str(year), "2021") self.assertEqual(year.get_property("decade"), decade) self.assertIsInstance(year.playlist_state, db.state.PlaylistState) with self.assertRaises(sqlite3.IntegrityError): db.year.Table.insert(2021) def test_year_table_delete(self): year = db.year.Table.find(2021) state = year.playlist_state db.year.Table.delete(year) self.assertIsNone(db.year.Table.lookup(2021)) self.assertIsNone(db.state.Table.get(int(state))) def test_year_table_get(self): year = db.year.Table.insert(2021) self.assertEqual(db.year.Table.get(1), year) self.assertIsNone(db.year.Table.get(2)) def test_year_table_lookup(self): year = db.year.Table.insert(2021) self.assertEqual(db.year.Table.lookup(2021), year) self.assertIsNone(db.year.Table.lookup(2022)) def test_year_compare(self): y2021 = db.year.Table.insert(2021) y2022 = db.year.Table.insert(2022) self.assertTrue(y2021 < y2022) self.assertTrue(y2022 > y2021) self.assertFalse(y2021 > y2022) self.assertFalse(y2022 < y2021)