emmental/db/test_state.py

54 lines
1.7 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import db
import sqlite3
import unittest
from gi.repository import GObject
class TestPlaylistStateTable(unittest.TestCase):
def setUp(self):
db.reset()
def test_playlist_state_table_init(self):
self.assertIsInstance(db.state.Table, db.state.PlaylistStateTable)
db.execute("SELECT plstateid,random,loop,current,sort "
"FROM playlist_states")
def test_playlist_state_table_insert(self):
state = db.state.Table.insert(False, False)
self.assertFalse(state.random)
self.assertFalse(state.loop)
self.assertEqual(state.current, -1)
self.assertEqual(state.sort, "")
def test_playlist_state_table_delete(self):
state = db.state.Table.insert(False, False)
db.state.Table.delete(state)
self.assertIsNone(db.state.Table.get(int(state)))
def test_playlist_state_table_get(self):
state = db.state.Table.insert(False, False)
self.assertEqual(db.state.Table.get(int(state)), state)
self.assertIsNone(db.year.Table.get(int(state) + 1))
def test_playlist_state_table_lookup(self):
state = db.state.Table.insert(False, False)
with self.assertRaises(NotImplementedError):
db.state.Table.lookup()
def test_playlist_state_properties(self):
state = db.state.Table.insert(False, False)
state.random = True
self.assertTrue(state.random)
state.loop = True
self.assertTrue(state.loop)
state.current = 3
self.assertEqual(state.current, 3)
state.sort = "album:True;artist:False"
self.assertEqual(state.sort, "album:True;artist:False")