implement profile removal behaviour

This commit is contained in:
Jakob Ketterl
2021-03-05 19:09:51 +01:00
parent 2ba2ec38e0
commit 2e28694b49
3 changed files with 41 additions and 4 deletions

View File

@ -1,6 +1,6 @@
from unittest import TestCase
from unittest.mock import Mock
from owrx.property import PropertyCarousel, PropertyLayer, PropertyDeleted
from owrx.property import PropertyCarousel, PropertyLayer, PropertyDeleted, PropertyWriteError
class PropertyCarouselTest(TestCase):
@ -92,3 +92,28 @@ class PropertyCarouselTest(TestCase):
pc.removeLayer("x")
with self.assertRaises(KeyError):
pc.switch("x")
def testPropertyResetAfterRemoval(self):
pc = PropertyCarousel()
pl = PropertyLayer(testkey="testvalue")
pc.addLayer("x", pl)
pc.switch("x")
self.assertEqual(pc["testkey"], "testvalue")
pc.removeLayer("x")
with self.assertRaises(KeyError):
x = pc["testkey"]
def testEmptySwitch(self):
pc = PropertyCarousel()
pl = PropertyLayer(testkey="testvalue")
pc.addLayer("x", pl)
pc.switch("x")
self.assertEqual(pc["testkey"], "testvalue")
pc.switch()
with self.assertRaises(KeyError):
x = pc["testkey"]
def testErrorOnWriteOnDefaultLayer(self):
pc = PropertyCarousel()
with self.assertRaises(PropertyWriteError):
pc["testkey"] = "testvalue"