Exemple #1
0
	def test_GetMentions(self):
		# モックのインタフェースを作成
		apiMock = self.mocker.CreateMock(tweepy.API)

		# モックの戻り値クラスを作成1
		userMock1 = self.mocker.CreateMock(tweepy.models.User)
		userMock1.screen_name = u'testuser1'
		statusMock1 = self.mocker.CreateMock(tweepy.models.Status)
		statusMock1.id=100
		statusMock1.text=u'test1 status'
		statusMock1.user=userMock1

		# モックの戻り値クラスを作成2
		userMock2 = self.mocker.CreateMock(tweepy.models.User)
		userMock2.screen_name = u'testuser2'
		statusMock2 = self.mocker.CreateMock(tweepy.models.Status)
		statusMock2.id=200
		statusMock2.text=u'test2 status'
		statusMock2.user=userMock2

		# Twitterクラスを作成
		twitter = Twitter()

		# 対象クラスにMockインタフェースの設定
		twitter.api = apiMock

		# 動作記録をリセット
		self.mocker.ResetAll()

		# 動作の記録
		apiMock.mentions().AndReturn([statusMock1, statusMock2])

		# 動作検証の開始
		self.mocker.ReplayAll()

		lst = twitter.getMentions()

		# 実動作の確認(正しくないとエラーが出るよ)
		self.mocker.VerifyAll()

		# 戻り値が2件であること
		assert_equal(2, len(lst))

		# 正しいデータが取得できること
		assert_equal(100, lst[0][0])
		assert_equal(u'testuser1', lst[0][1])
		assert_equal(u'test1 status', lst[0][2])

		assert_equal(200, lst[1][0])
		assert_equal(u'testuser2', lst[1][1])
		assert_equal(u'test2 status', lst[1][2])