Ejemplo n.º 1
0
class TestStability(unittest.TestCase):

  def setUp(self):
    self._model = TestBatteryModelLinear(10, 10)
    self._caracal = Caracal(self._model)

  def test_one_module_stable(self):
    self._caracal.modules = [Drainer("test", 2, 2)]
    self.assertEqual(self._caracal.stability(), (True, 10))

  def test_one_module_not_stable(self):
    self._caracal.modules = [Drainer("test", 2, 1)]
    self.assertEqual(self._caracal.stability(), (False, 8))
Ejemplo n.º 2
0
class TestActivationOrder(unittest.TestCase):

  def setUp(self):
    self._model = TestBatteryModelNoRecharge(10, 10)
    self._caracal = Caracal(self._model)

  def test_one_module(self):
    actual = []
    mod = TestDrainer("test", 1, 1, actual)
    self._caracal.modules = [mod]

    expected = [mod] * 10
    self._caracal.stability()
    self.assertListEqual(actual, expected)

  def test_two_modules_that_dont_overlap(self):
    actual = []
    mod1 = TestDrainer("test1", 2.5, 3, actual)
    mod2 = TestDrainer("test2", 2.5, 5, actual)
    self._caracal.modules = [mod1, mod2]

    expected = [mod1, mod2, mod1, mod2]
    self._caracal.stability()
    self.assertListEqual(actual, expected)

  def test_two_modules_with_same_period(self):
    actual = []
    mod1 = TestDrainer("test1", 2.5, 2, actual)
    mod2 = TestDrainer("test2", 2.5, 2, actual)
    self._caracal.modules = [mod1, mod2]

    expected = [mod1, mod2, mod1, mod2]
    self._caracal.stability()
    self.assertListEqual(actual, expected)

  def test_two_modules_that_overlap(self):
    actual = []
    mod1 = TestDrainer("test1", 2, 1, actual)
    mod2 = TestDrainer("test2", 2, 2, actual)
    self._caracal.modules = [mod1, mod2]

    expected = [mod1, mod2, mod1, mod1, mod2]
    self._caracal.stability()
    self.assertListEqual(actual, expected)
Ejemplo n.º 3
0
 def setUp(self):
   self._model = TestBatteryModelLinear(10, 10)
   self._caracal = Caracal(self._model)
Ejemplo n.º 4
0
 def setUp(self):
   self._model = TestBatteryModelNoRecharge(10, 10)
   self._caracal = Caracal(self._model)