Ejemplo n.º 1
0
def test():
    s = Stack()
    assert s.is_empty() is True

    s.push(4)
    assert s.items == [4]

    s.push("dog")
    assert s.items == [4, "dog"]

    assert s.peek() == "dog"

    s.push(True)
    assert s.items == [4, "dog", True]

    assert s.size() == 3

    assert s.is_empty() is False

    s.push(8.4)
    assert s.items == [4, "dog", True, 8.4]

    assert s.pop() == 8.4

    assert s.pop() is True

    assert s.size() == 2
Ejemplo n.º 2
0
class CalculatorTest(unittest.TestCase):
    """unitetestモジュールの簡単な実行例その2。"""
    @classmethod
    def setUpClass(cls):
        pass

    @classmethod
    def tearDownClass(cls):
        pass

    def setUp(self):
        self._stack = Stack()

    def tearDown(self):
        pass

    def test_is_empty(self):
        self.assertTrue(self._stack.is_empty())

        self._stack.push(1)
        self.assertFalse(self._stack.is_empty())

    def test_size(self):
        self.assertEqual(0, self._stack.size())

        self._stack.push(1)
        self.assertEqual(1, self._stack.size())

    def test_push(self):
        self._stack.push(1)
        self.assertEqual(1, self._stack.top())

    def test_pop(self):
        self._stack.push(1)
        self.assertEqual(1, self._stack.pop())
        self.assertEqual(0, self._stack.size())

        with self.assertRaises(IndexError):
            self._stack.pop()

    def test_top(self):
        self._stack.push(1)
        self.assertEqual(1, self._stack.top())
        self.assertEqual(1, self._stack.size())

        self._stack.pop()
        with self.assertRaises(IndexError):
            self._stack.top()
Ejemplo n.º 3
0
def test_push():
    """Test push."""
    s = Stack()
    s.push(3)
    s.push(5)
    s.push(7)
    assert len(s.data) == 3
    assert not s.is_empty()
Ejemplo n.º 4
0
def sort_stack(stack):
    buffer_stack = Stack()
    while(not stack.is_empty()):
        value = stack.pop()
        if(buffer_stack.is_empty):
            buffer_stack.push(value)
        else:
            if(not buffer_stack.is_empty()):
                while(buffer_stack.peek() > value):
                        temp = buffer_stack.pop()
                        stack.push(temp)
            else:
                buffer_stack.push(value)
    return buffer_stack
Ejemplo n.º 5
0
def test_is_empty():
    """Test empty."""
    s = Stack()
    assert s.is_empty()
Ejemplo n.º 6
0
class TestStack(unittest.TestCase):
    def setUp(self) -> None:
        self.stack = Stack()

    def test_pop(self) -> None:
        self.stack.stack = [1]
        self.assertEqual(self.stack.pop(), 1)
        self.assertEqual(self.stack.stack, [])
        self.stack.stack = []
        self.assertIsNone(self.stack.pop())
        self.assertEqual(self.stack.stack, [])
        self.stack.stack = [1, 2, 3]
        self.assertEqual(self.stack.pop(), 3)
        self.assertEqual(self.stack.stack, [1, 2])

    def test_push(self) -> None:
        self.stack.push(1)
        self.assertEqual(self.stack.stack, [1])
        self.stack.push(2.0)
        self.assertEqual(self.stack.stack, [1, 2.0])
        self.stack.push("3")
        self.assertEqual(self.stack.stack, [1, 2.0, "3"])

    def test_peek(self) -> None:
        self.assertIsNone(self.stack.peek())
        self.stack.stack = [1]
        self.assertEqual(self.stack.peek(), 1)
        self.stack.stack = [1, 2, 3]
        self.assertEqual(self.stack.peek(), 3)
        self.assertEqual(self.stack.stack, [1, 2, 3])

    def test_search(self) -> None:
        self.assertIsNone(self.stack.search(1))
        self.stack.stack = [1]
        self.assertEqual(self.stack.search(1), 1)
        self.stack.stack = [1, 2, 3]
        self.assertEqual(self.stack.search(1), 3)
        self.assertEqual(self.stack.search(2), 2)
        self.assertEqual(self.stack.search(3), 1)

    def test_is_empty(self) -> None:
        self.assertTrue(self.stack.is_empty())
        self.stack.stack = [1]
        self.assertFalse(self.stack.is_empty())
        self.stack.stack = [1, 2, 3]
        self.assertFalse(self.stack.is_empty())

    def test_clear(self) -> None:
        self.stack.stack = [1, 2, 3]
        self.stack.clear()
        self.assertEqual(self.stack.stack, [])

    def test___str__(self) -> None:
        self.stack.stack = [1, 2, 3]
        self.assertEqual(self.stack.__str__(), "[1, 2, 3]")

    def test___len__(self) -> None:
        self.stack.stack = [1, 2, 3]
        self.assertEqual(len(self.stack), 3)

    def test_big_test(self) -> None:
        test_case = 100_000
        for i in range(test_case):
            self.stack.push(i)
        for i in reversed(range(test_case)):
            self.assertEqual(self.stack.pop(), i)
        self.assertIsNone(self.stack.pop())

    def test_repr(self) -> None:
        for i in range(6):
            self.stack.push(i)
        self.assertEqual(self.stack.__repr__(), "Stack [0, 1, 2, 3, 4, 5]")
        self.stack.push(6)
        self.assertEqual(self.stack.__repr__(),
                         "Stack [0, 1, 2, 3, 4, 5, ...]")
Ejemplo n.º 7
0
def test_is_empty_with_multiple_elements():
    stack = Stack([1, 3, 1])

    expected = False
    output = stack.is_empty()
    assert output == expected
Ejemplo n.º 8
0
def test_is_empty():
    stack = Stack()

    expected = True
    output = stack.is_empty()
    assert output == expected