2017年2月11日土曜日

開発環境

たのしいプログラミング 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 コメント:

コメントを投稿