# -*- coding: utf-8 -*- """ Created on Wed Feb 29 10:34:00 2012 Author: Josef Perktold """ from statsmodels.compat import lrange from itertools import combinations, zip_longest from numpy.testing import assert_ def test_zip_longest(): lili = [ ["a0", "b0", "c0", "d0"], ["a1", "b1", "c1"], ["a2", "b2", "c2", "d2"], ["a3", "b3", "c3", "d3"], ["a4", "b4"], ] transposed = [ ("a0", "a1", "a2", "a3", "a4"), ("b0", "b1", "b2", "b3", "b4"), ("c0", "c1", "c2", "c3", None), ("d0", None, "d2", "d3", None), ] assert_( list(zip_longest(*lili)) == transposed, "%r not equal %r" % (zip_longest(*lili), transposed), ) def test_combinations(): actual = list(combinations("ABCD", 2)) desired = [ ("A", "B"), ("A", "C"), ("A", "D"), ("B", "C"), ("B", "D"), ("C", "D"), ] assert_(actual == desired, "%r not equal %r" % (actual, desired)) actual = list(combinations(lrange(4), 3)) desired = [(0, 1, 2), (0, 1, 3), (0, 2, 3), (1, 2, 3)] assert_(actual == desired, "%r not equal %r" % (actual, desired))