#!/usr/bin/env python # encoding: utf-8 import unittest from mapytex.calculus import generic class TestGeneric(unittest.TestCase): """Testing functions from mapytex.calculus.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