開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
たのしいプログラミング Pythonではじめよう!(Jason R. Briggs (著)、磯蘭水・藤永奈保子・鈴木悠 (翻訳)、オーム社)の第1部(プログラムの作り方)、第10章(便利に使えるモジュールたち)、10.8(自分でやってみよう)を取り組んでみる。
コード(Emacs)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class Car:
pass
import unittest
import copy
# 1. コピーされた車
class TestCopy(unittest.TestCase):
def setUp(self):
self.car1 = Car()
self.car1.wheels = 4
self.car2 = self.car1
self.car2.wheels = 3
self.car3 = copy.copy(self.car1)
self.car3.wheels = 6
def tearDown(self):
pass
def test_1(self):
self.assertEqual(self.car1.wheels, 3)
def test_2(self):
self.assertEqual(self.car1.wheels, 3)
# 2. お気に入りリストを保存する
import pickle
class TestPickle(unittest.TestCase):
def setUp(self):
self.favorites = ['f1', 'f2']
with open('favorites.dat', 'wb') as f:
pickle.dump(self.favorites, f)
def tearDown(self):
pass
def test_1(self):
with open('favorites.dat', 'rb') as f:
favorites = pickle.load(f)
self.assertEqual(favorites, self.favorites)
if __name__ == '__main__':
unittest.main()
入出力結果(Terminal, IPython)
$ ./sample1.py -v test_1 (__main__.TestCopy) ... ok test_2 (__main__.TestCopy) ... ok test_1 (__main__.TestPickle) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.002s OK $
0 コメント:
コメントを投稿