From 6e1ca2eff85fa45d45d61242b2ac8e67fc02179c Mon Sep 17 00:00:00 2001 From: Lafrite Date: Fri, 21 Feb 2014 09:45:45 +0100 Subject: [PATCH] Start unittest for generic --- test/__init__.py | 0 test/test_generic.py | 76 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 test/__init__.py create mode 100644 test/test_generic.py diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/test_generic.py b/test/test_generic.py new file mode 100644 index 0000000..7f9c5b2 --- /dev/null +++ b/test/test_generic.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python +# encoding: utf-8 + + +import unittest + +from pymath import generic + +class TestGeneric(unittest.TestCase): + """Testing functions from pymath.generic""" + + def test_flatten_list1(self): + l = [1, [2,3], [[4,5], 6], 7] + flat_l = generic.flatten_list(l) + + true_flat = list(range(1,8)) + + self.assertEqual(flat_l, true_flat) + + def test_flatten_list2(self): + l = list(range(10)) + flat_l = generic.flatten_list(l) + + true_flat = list(range(10)) + + self.assertEqual(flat_l, true_flat) + + def test_first_elem_simple_iter(self): + """ For simple iterable """ + l = range(10) + first = generic.first_elem(l) + + self.assertAlmostEqual(0,first) + + s = "plopplop" + first = generic.first_elem(s) + self.assertAlmostEqual("p", first) + + def test_first_elem_iter_in_iter(self): + """ Interable in iterable """ + l = [[1,2],[4, 5, [6,7,8]], 9] + first = generic.first_elem(l) + + self.assertAlmostEqual(first, 1) + + l = [[[1]]] + first = generic.first_elem(l) + + self.assertAlmostEqual(first, 1) + + l = ["abc"] + first = generic.first_elem(l) + + self.assertAlmostEqual(first, "a") + + l = ["abc",[4, 5, [6,7,8]], 9] + first = generic.first_elem(l) + + self.assertAlmostEqual(first, "a") + + l = [["abc",1],[4, 5, [6,7,8]], 9] + first = generic.first_elem(l) + + self.assertAlmostEqual(first, "a") + +if __name__ == '__main__': + unittest.main() + + + + + +# ----------------------------- +# Reglages pour 'vim' +# vim:set autoindent expandtab tabstop=4 shiftwidth=4: +# cursor: 16 del