コード例 #1
0
class TwitterTests(unittest.TestCase):

    def setUp(self):
        self.twitter = Twitter()

    def should_allow_user_to_post_tweet(self):
        self.twitter.tweet('user', 'message')
        self.assertEqual([{'user':'******', 'message':'message'}], list(self.twitter.timeline()))

    def should_limit_tweets_to_140_chars(self):
        self.assertRaises(ValueError, self.twitter.tweet, 'user', 'x' * 141)

    def should_show_latest_tweets_most_recent_first_when_unauthenticated(self):
        self.twitter.tweet('user1', 'hello')
        self.twitter.tweet('user2', 'world')
        self.assertEqual([{'user':'******', 'message':'world'},
                          {'user':'******', 'message':'hello'}],
                         list(self.twitter.timeline()))

    def should_limit_timeline_to_last_10_tweets(self):
        for i in range(11):
            self.twitter.tweet('user', str(i))
        self.assertEqual([{'user':'******', 'message':'10'}, {'user':'******', 'message':'9'},
                          {'user':'******', 'message':'8'}, {'user':'******', 'message':'7'},
                          {'user':'******', 'message':'6'}, {'user':'******', 'message':'5'},
                          {'user':'******', 'message':'4'}, {'user':'******', 'message':'3'},
                          {'user':'******', 'message':'2'}, {'user':'******', 'message':'1'},],
                         list(self.twitter.timeline()))