QVolution2019.2/AoM_Service/library/test_alert_config_list.py

55 lines
1.6 KiB
Python
Executable File

import unittest
import alert_config_list
class Mock_Alert_Config() :
def __init__(self, id) :
self.id = id
class Test_Alert_Config_List(unittest.TestCase):
def setUp(self) :
self.was = alert_config_list.Alert_Config
alert_config_list.Alert_Config = Mock_Alert_Config
self.al = alert_config_list.Alert_Config_List()
def tearDown(self) :
alert_config_list.Alert_Config = self.was
self.al = None
def test_add(self) :
self.al.add(Mock_Alert_Config("a"))
self.assertEqual(len(self.al), 1)
self.al.add([Mock_Alert_Config("a")])
self.assertEqual(len(self.al), 1)
self.al.add([Mock_Alert_Config("b")])
self.assertEqual(len(self.al), 2)
self.al.add(Mock_Alert_Config("c"))
self.assertEqual(len(self.al), 3)
other = alert_config_list.Alert_Config_List()
other.add(Mock_Alert_Config("d"))
self.al.add(other)
self.assertEqual(len(self.al), 4)
def test_compare(self) :
self.al.add(Mock_Alert_Config("a"))
self.al.add(Mock_Alert_Config("b"))
self.al.add(Mock_Alert_Config("c"))
new = alert_config_list.Alert_Config_List()
new.add(Mock_Alert_Config("a"))
new.add(Mock_Alert_Config("y"))
new.add(Mock_Alert_Config("z"))
added, removed, modified = self.al.compare(new)
if not "y" in added or not "z" in added :
self.fail("added is missing elements")
if not "b" in removed or not "c" in removed :
self.fail("removed is missing elements")
if not "a" in modified :
self.fail("modified is missing elements")
if __name__ == "__main__" :
unittest.main()