Pythonのunittestモジュールでは、リストの等価性をテストするためのメソッドが提供されています。具体的には、assertCountEqual
メソッドを使用します。このメソッドは、2つのリストが同じ要素を同じ数だけ含んでいるかどうかをチェックします。
以下に、assertCountEqual
メソッドを使用したテストケースの例を示します。
import unittest
class TestListElements(unittest.TestCase):
def setUp(self):
self.expected = ['foo', 'bar', 'baz']
self.result = ['baz', 'foo', 'bar']
def test_count_eq(self):
"""Will succeed"""
self.assertCountEqual(self.result, self.expected)
def test_list_eq(self):
"""Will fail"""
self.assertListEqual(self.result, self.expected)
if __name__ == "__main__":
unittest.main()
この例では、setUp
メソッドでテストケースの初期設定を行い、test_count_eq
メソッドとtest_list_eq
メソッドでリストの等価性をテストしています。assertCountEqual
メソッドは、リストの要素の順序を無視して等価性をチェックします。一方、assertListEqual
メソッドは、リストの要素の順序も考慮に入れて等価性をチェックします。
このように、Pythonのunittestモジュールを使用すれば、リストの等価性を簡単にテストすることができます。