# Copyright 2021 (c) Anna Schumaker. import db import sqlite3 import unittest from gi.repository import GObject class TestYear(unittest.TestCase): def setUp(self): db.reset() def test_init(self): decade = db.decade.Table.find(2020) year = decade.find_year(2021) self.assertIsInstance(year, db.playlist.Playlist) self.assertEqual(year.get_property("name"), "2021") self.assertEqual(year.get_property("year"), 2021) class TestYearTable(unittest.TestCase): def setUp(self): db.reset() def test_init(self): table = db.year.YearTable() self.assertIsInstance(table, db.playlist.ChildModel) self.assertEqual(table.table, "years") self.assertEqual(table.order, "year") self.assertIsInstance(db.year.Table, db.year.YearTable) db.sql.execute("SELECT yearid,decadeid,plstateid,year FROM years") def test_insert(self): decade = db.decade.Table.insert(2020) year = decade.find_year(2021) self.assertIsInstance(year, db.year.Year) self.assertEqual(year._year, 2021) with self.assertRaises(sqlite3.IntegrityError): db.year.Table.insert(decade, 2021) def test_lookup(self): decade = db.decade.Table.find(2020) year = decade.find_year(2021) self.assertEqual(db.year.Table.lookup(2021), year) self.assertIsNone(db.year.Table.lookup(2022))