def test_is_empty(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())
        self.assertTrue(priorityQueue.is_empty(), "New queue should be empty")

        priorityQueue.add(1)
        self.assertFalse(priorityQueue.is_empty(),
                         "Queue with added element shouldn't be empty")

        priorityQueue.pop()
        self.assertTrue(
            priorityQueue.is_empty(),
            "When all elements removed from a queue it should be empty")
Example #2
0
    def search(self, problem):
        comparator = self._get_comparator()

        if isinstance(self._search, GraphSearch):
            self._search.set_node_comparator(comparator)

        return self._search.search(problem, PriorityQueue(comparator))
    def test_is_empty(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())
        self.assertTrue(priorityQueue.is_empty(), "New queue should be empty")

        priorityQueue.add(1)
        self.assertFalse(priorityQueue.is_empty(), "Queue with added element shouldn't be empty")

        priorityQueue.pop()
        self.assertTrue(priorityQueue.is_empty(), "When all elements removed from a queue it should be empty")
    def test_remove_at_the_end(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)

        self.assertTrue(priorityQueue.remove(1))

        self.assertEqual(3, priorityQueue.length())
        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(10, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
    def test_remove_in_the_middle(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)

        self.assertFalse(priorityQueue.remove(50))
        self.assertTrue(priorityQueue.remove(10))

        self.assertEqual(3, priorityQueue.length())
        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
        self.assertEqual(1, priorityQueue.pop())
    def test_pop_add(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)
        priorityQueue.add(3)

        self.assertEqual(5, priorityQueue.length())

        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(10, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
        self.assertEqual(3, priorityQueue.pop())
        self.assertEqual(1, priorityQueue.pop())
    def test_remove_at_the_end(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)

        self.assertTrue(priorityQueue.remove(1))

        self.assertEqual(3, priorityQueue.length())
        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(10, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
    def test_remove_in_the_middle(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)

        self.assertFalse(priorityQueue.remove(50))
        self.assertTrue(priorityQueue.remove(10))

        self.assertEqual(3, priorityQueue.length())
        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
        self.assertEqual(1, priorityQueue.pop())
    def test_pop_add(self):
        priorityQueue = PriorityQueue(TestPriorityQueue.TestComparator())

        priorityQueue.add(5)
        priorityQueue.add(10)
        priorityQueue.add(1)
        priorityQueue.add(11)
        priorityQueue.add(3)

        self.assertEqual(5, priorityQueue.length())

        self.assertEqual(11, priorityQueue.pop())
        self.assertEqual(10, priorityQueue.pop())
        self.assertEqual(5, priorityQueue.pop())
        self.assertEqual(3, priorityQueue.pop())
        self.assertEqual(1, priorityQueue.pop())