| 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") |
| |