def test__right__when_empty__then_key_error():
        # when
        def function(heap):
            return heap.right

        # then
        assert_that(function).raises(KeyError).when_called_with(DoubleHeap())
 def test__right__when_single_element__then_this_element(self):
     # given
     element = 19
     self.test_object = DoubleHeap([element])
     # when
     result = self.test_object.right
     # then
     assert_that(result).is_equal_to(element)
 def test__popright__when_single_element__then_this_element_removed(self):
     # given
     element = 19
     self.test_object = DoubleHeap([element])
     # when
     result = self.test_object.popright()
     # then
     assert_that(self.test_object).is_empty()
     assert_that(result).is_equal_to(element)
 def test__append__when_empty__then_added(self):
     # given
     element = 19
     self.test_object = DoubleHeap()
     # when
     self.test_object.append(element)
     # then
     assert_that(self.test_object).is_length(1)
     assert_that(self.test_object.left).is_equal_to(element)
     assert_that(self.test_object.right).is_equal_to(element)
 def test__len__when_empty__then_zero(self):
     self.test_object = DoubleHeap()
     # when
     result = len(self.test_object)
     # then
     assert_that(result).is_equal_to(0)
 def setUp(self):
     self.test_object = DoubleHeap(self.numbers)