import sys import std_containers cube = (((1, 2), (3, 4)), ((5, 6), (7, 8))) icube = std_containers.cident(cube) for i in range(0, len(cube)): if cube[i] != icube[i]: raise RuntimeError, "bad cident" p = (1, 2) if p != std_containers.pident(p): raise RuntimeError, "bad pident" v = (1, 2, 3, 4, 5, 6) iv = std_containers.vident(v) for i in range(0, len(v)): if v[i] != iv[i]: raise RuntimeError, "bad vident" iv = std_containers.videntu(v) for i in range(0, len(v)): if v[i] != iv[i]: raise RuntimeError, "bad videntu" vu = std_containers.vector_ui(v) if vu[2] != std_containers.videntu(vu)[2]: raise RuntimeError, "bad videntu" if v[0:3][1] != vu[0:3][1]: raise RuntimeError("bad getslice {} {}".format(v[0:3][1], vu[0:3][1])) m = ((1, 2, 3), (2, 3), (3, 4)) im = std_containers.midenti(m) for i in range(0, len(m)): for j in range(0, len(m[i])): if m[i][j] != im[i][j]: raise RuntimeError, "bad getslice" m = ((True, False, True), (True, True), (True, True)) im = std_containers.midentb(m) for i in range(0, len(m)): for j in range(0, len(m[i])): if m[i][j] != im[i][j]: raise RuntimeError, "bad getslice" mi = std_containers.imatrix(m) mc = std_containers.cmatrix(m) if mi[0][1] != mc[0][1]: raise RuntimeError, "bad matrix" map = {} map["hello"] = 1 map["hi"] = 2 map["3"] = 2 imap = std_containers.mapident(map) for k in map: if map[k] != imap[k]: raise RuntimeError, "bad map" # Test __contains__ (required for 'x in y' to work) if not imap.__contains__("hello"): raise RuntimeError("hello imap.__contains__") if "hello" not in imap: raise RuntimeError("hello not in imap") if imap.__contains__("oops"): raise RuntimeError("oops imap.__contains__") if "oops" in imap: raise RuntimeError("oops in imap") mapc = {} c1 = std_containers.C() c2 = std_containers.C() mapc[1] = c1.this mapc[2] = c2 std_containers.mapidentc(mapc) vi = std_containers.vector_i((2, 2, 3, 4)) v = (1, 2) v1 = std_containers.v_inout(vi) vi[1], v1[1] v1, v2 = ((1, 2), (3, 4)) v1, v2 = std_containers.v_inout2(v1, v2) a1 = std_containers.A(1) a2 = std_containers.A(2) p1 = (1, a1) p2 = (2, a2) v = (p1, p2) v2 = std_containers.pia_vident(v) v2[0][1].a v2[1][1].a v3 = std_containers.vector_piA(v2) v3[0][1].a v3[1][1].a s = std_containers.set_i() s.append(1) s.append(2) s.append(3) j = 1 for i in s: if i != j: raise RuntimeError j = j + 1 # Test __contains__ (required for 'x in y' to work) if not s.__contains__(3): raise RuntimeError("3 s.__contains__") if 3 not in s: raise RuntimeError("3 not in s") if s.__contains__(-1): raise RuntimeError("-1 s.__contains__") if -1 in s: raise RuntimeError("-1 in s")