import unittest import numpy as num from combinatorics import bitvector from numtools import expand #------------------------------------------------------------- class TestCase(unittest.TestCase): def setUp(self): pass def test_bitvector(self): d = 4 assert num.allclose(bitvector(0, d), num.array([0,0,0,0])) assert num.allclose(bitvector(1, d), num.array([1,0,0,0])) assert num.allclose(bitvector(2, d), num.array([0,1,0,0])) assert num.allclose(bitvector(3, d), num.array([1,1,0,0])) assert num.allclose(bitvector(4, d), num.array([0,0,1,0])) assert num.allclose(bitvector(5, d), num.array([1,0,1,0])) assert num.allclose(bitvector(6, d), num.array([0,1,1,0])) assert num.allclose(bitvector(7, d), num.array([1,1,1,0])) assert num.allclose(bitvector(8, d), num.array([0,0,0,1])) assert num.allclose(bitvector(9, d), num.array([1,0,0,1])) assert num.allclose(bitvector(10, d), num.array([0,1,0,1])) assert num.allclose(bitvector(11, d), num.array([1,1,0,1])) assert num.allclose(bitvector(12, d), num.array([0,0,1,1])) assert num.allclose(bitvector(13, d), num.array([1,0,1,1])) assert num.allclose(bitvector(14, d), num.array([0,1,1,1])) assert num.allclose(bitvector(15, d), num.array([1,1,1,1])) def test_expand(self): d = 4 mask = num.array([0,1,1,0,1]) v = num.array([2,3,4]) assert num.allclose(expand(v, mask), num.array([0,2,3,0,4])) #------------------------------------------------------------- if __name__ == "__main__": mysuite = unittest.makeSuite(TestCase,'test') runner = unittest.TextTestRunner() runner.run(mysuite)