示例#1
0
文件: test.py 项目: codyhess/capture
class TestJokeTableClass(unittest.TestCase):
    """Class JokeTable accesses and modifies a table of Joke objects."""

    def setUp(self):
        """Create a test JokeTable, append file, list, etc."""

        self.jokeTable = JokeTable('sqlite:///:memory:')
        self.jokeTable.AddJokesFromFile('Scripts/test.jk')
        self.jokeOne = Joke("Test Joke", "A man walks into a bar.*")
        self.jokeTwo = Joke("Test Joke Two", "Knock knock.*")

    def test_AddJokesFromFile(self):
        """Are Joke objects created/updated properly?"""

        testJokeOne = self.jokeTable._getJokeByName("Test Joke")
        testJokeTwo = self.jokeTable._getJokeByName("Test Joke Two")
        testJokeThree = self.jokeTable._getJokeByName("Fake Joke Name")
        self.assertTrue(testJokeOne)
        self.assertTrue(testJokeTwo)
        self.assertFalse(testJokeThree)
        self.assertEqual(testJokeOne.name, "Test Joke")
        self.assertEqual(len(testJokeOne.bodies), 1)
        self.assertEqual(testJokeTwo.name, "Test Joke Two")
        self.assertEqual(testJokeOne.wordcount, 5)
        self.assertEqual(testJokeOne.punchcount, 0)

    def test_Accessor_Methods(self):
        """Does JokeTable accessor methods retrieve data properly?"""

        jokelist = self.jokeTable.GetJokeList()
        self.assertTrue(jokelist)
        self.assertEqual(jokelist[0].name, 'Test Joke')
        self.assertTrue(jokelist[-1].bodies)

    def test_Modifier_Methods(self):
        """Do JokeTable modifier methods update data properly?"""
        self.jokeTable._addOrUpdateJoke(self.jokeOne)
        self.jokeTable._addOrUpdateJoke(self.jokeTwo)
        jokelist = self.jokeTable.GetJokeList()
        self.assertEqual(jokelist[0].wordcount, 6)
        self.assertEqual(jokelist[1].punchcount, 1)

    def test_Private_Methods(self):
        """Do JokeTable private methods have sound logic?"""

        self.assertTrue(self.jokeTable._foundJokeName('--Test Joke'))
        self.assertFalse(self.jokeTable._foundJokeName('Test Joke'))
        self.assertTrue(self.jokeTable._endOfJoke('--!'))
        self.assertFalse(self.jokeTable._endOfJoke('--'))
        self.assertEqual(self.jokeTable._trimName('--Test Joke'), 'Test Joke')
示例#2
0
文件: test.py 项目: codyhess/capture
    def setUp(self):
        """Create a test JokeTable, append file, list, etc."""

        self.jokeTable = JokeTable('sqlite:///:memory:')
        self.jokeTable.AddJokesFromFile('Scripts/test.jk')
        self.jokeOne = Joke("Test Joke", "A man walks into a bar.*")
        self.jokeTwo = Joke("Test Joke Two", "Knock knock.*")