Hide

Problem A
Enhetstesta en länkad lista

Languages en sv

I det här problemet ska du skriva enhetstester för olika implementationer av länkad lista i python som följer specifikationen i bilagan LinkedList.py. Implementationerna kan vara buggiga, och ditt jobb är att hitta buggarna! Ingen bug är relaterad till typen på de element som stoppas in eller till något speciellt värde, dvs det är inte så att du ska hitta en magisk sträng eller ett magiskt tal som inte accepteras.

Det här problemet kan endast lösas i Python. Problemet används i examinationen av kursen DD1327 vid KTH och får inte användas i andra kurser som samma studenter skulle kunna läsa.

Struktur på din kod

Din uppgift är att skriva enhetstester för okända implementationer av LinkedList i moduler som heter LinkedList.py med hjälp av pythons standardbibliotek unittest. unittest. Vi kommer att identifiera testerna på samma sätt som python -m unittest gör. Se till att varje fil du skickar in heter test_something.py och innehåller en klass som heter TestSomething och ärver från unittest.TestCase. Klassens metoder måste heta test_something() för varje testfall som ska köras. Du kan antingen skriva alla testfall i en fil, eller skicka in dem i flera olika filer.

Exempellösning

Här följer en exempellösning som INTE löser problemet (den testar bara en sak). Notera att filnamnet måste matcha test_*.py.

import unittest

from LinkedList import LinkedList

class TestExample(unittest.TestCase):
    def test_emptyListHasSize0(self):
        list = LinkedList()
        self.assertEqual(list.size(), 0)

Please log in to submit a solution to this problem

Log in