def test_out_complex2(path: str) -> bool: w = scalgoproto.Writer() m = w.construct_table(base.MemberOut) m.id = 42 b = w.construct_bytes(b"bytes") t = w.construct_text("text") l = w.construct_enum_list(base.NamedUnionEnumList, 2) l[0] = base.NamedUnionEnumList.x l[1] = base.NamedUnionEnumList.z l2 = w.construct_struct_list(complex2.Complex2L, 1) l2[0] = complex2.Complex2L(2, True) l3 = w.construct_union_list(base.NamedUnionOut, 2) l3[0].text = t l3[1].my_bytes = b r = w.construct_table(complex2.Complex2Out) r.u1.member = m r.u2.text = t r.u3.my_bytes = b r.u4.enum_list = l r.u5.add_a() m2 = r.add_hat() m2.id = 43 r.l = l2 r.s = complex2.Complex2S(complex2.Complex2SX.p, complex2.Complex2SY(8)) r.l2 = l3 data = w.finalize(r) return validate_out(data, path)
def test_out_inplace(path: str) -> bool: w = scalgoproto.Writer() name = w.construct_text("nilson") u = w.construct_table(base.InplaceUnionOut) u.u.add_monkey().name = name u2 = w.construct_table(base.InplaceUnionOut) u2.u.add_text().t = "foobar" t = w.construct_table(base.InplaceTextOut) t.id = 45 t.t = "cake" b = w.construct_table(base.InplaceBytesOut) b.id = 46 b.b = b"hi" l = w.construct_table(base.InplaceListOut) l.id = 47 ll = l.add_l(2) ll[0] = 24 ll[1] = 99 root = w.construct_table(base.InplaceRootOut) root.u = u root.u2 = u2 root.t = t root.b = b root.l = l data = w.finalize(root) return validate_out(data, path)
def test_out_complex(path: str) -> bool: w = scalgoproto.Writer() m = w.construct_table(base.MemberOut) m.id = 42 l = w.construct_int32_list(31) for i in range(31): l[i] = 100 - 2 * i l2 = w.construct_enum_list(base.MyEnum, 2) l2[0] = base.MyEnum.a l3 = w.construct_struct_list(base.MyStruct, 1) b = w.construct_bytes(b"bytes") t = w.construct_text("text") l4 = w.construct_text_list(200) for i in range(1, len(l4), 2): l4[i] = "HI THERE" l5 = w.construct_bytes_list(1) l5[0] = b l6 = w.construct_table_list(base.MemberOut, 3) l6[0] = m l6[2] = m l7 = w.construct_float32_list(2) l7[1] = 98.0 l8 = w.construct_float64_list(3) l8[2] = 78.0 l9 = w.construct_uint8_list(2) l9[0] = 4 l10 = w.construct_bool_list(10) l10[0] = True l10[2] = True l10[8] = True s = w.construct_table(base.ComplexOut) s.member = m s.text = t s.my_bytes = b s.int_list = l s.struct_list = l3 s.enum_list = l2 s.text_list = l4 s.bytes_list = l5 s.member_list = l6 s.f32list = l7 s.f64list = l8 s.u8list = l9 s.blist = l10 data = w.finalize(s) return validate_out(data, path)
def test_out_extend2(path: str) -> bool: w = scalgoproto.Writer() root = w.construct_table(base.Gen2Out) root.aa = 80 root.bb = 81 cake = root.u.add_cake() cake.v = 45 data = w.finalize(root) return validate_out(data, path)
def test_copy_extend2(path: str) -> bool: data1 = read_in(path) reader1 = scalgoproto.Reader(data1) root1 = reader1.root(base.Gen3In) writer = scalgoproto.Writer() root2 = writer.copy(base.Gen3Out, root1) data2 = writer.finalize(root2) reader2 = scalgoproto.Reader(data2) root3 = reader2.root(base.Gen3In) return test_extend2_part(root3)
def test_out_extend2(path: str) -> bool: w = scalgoproto.Writer() root = w.construct_table(base.Gen2Out) root.aa = 80 root.bb = 81 cake = root.u.add_cake() cake.v = 45 l = root.add_direct_member_list(4) l[0].id = 100 l[1].id = 101 l[2].id = 102 l[3].id = 103 data = w.finalize(root) return validate_out(data, path)
def for_copy() -> union.Table3In: w = scalgoproto.Writer() root = w.construct_table(union.Table3Out) v1 = root.add_v1() v1.a.v1 = "ctext1" v1.b.v1 = "ctext2" v2 = root.add_v2() v2.a.v2 = b"cbytes1" v2.b.v2 = b"cbytes2" v3 = root.add_v3() v3.a.add_v3().a = 101 v3.b.add_v3().a = 102 v4 = root.add_v4() v4.a.add_v4().a = 103 v4.b.add_v4().a = 104 v5 = root.add_v5() v5.a.add_v5(1)[0] = "ctext3" v5.b.add_v5(1)[0] = "ctext4" v6 = root.add_v6() v6.a.add_v6(1)[0] = b"cbytes3" v6.b.add_v6(1)[0] = b"cbytes4" v7 = root.add_v7() v7.a.add_v7(1).add(0).a = 105 v7.b.add_v7(1).add(0).a = 106 v8 = root.add_v8() v8.a.add_v8(1).add(0).a = 107 v8.b.add_v8(1).add(0).a = 108 v9 = root.add_v9() v9.a.add_v9(1)[0] = 109 v9.b.add_v9(1)[0] = 110 v10 = root.add_v10() v10.a.add_v10(1)[0] = True v10.b.add_v10(1)[0] = True d = w.finalize(root) r = scalgoproto.Reader(d) return r.root(union.Table3In)
def test_out(path: str) -> bool: w = scalgoproto.Writer() s = w.construct_table(base.SimpleOut) s.e = base.MyEnum.c s.s = base.FullStruct( base.MyEnum.d, base.MyStruct(42, 27.0, True), False, 8, 9, 10, 11, -8, -9, -10, -11, 27.0, 22.0, ) s.b = True s.u8 = 242 s.u16 = 4024 s.u32 = 124474 s.u64 = 5465778 s.i8 = -40 s.i16 = 4025 s.i32 = 124475 s.i64 = 5465779 s.f = 2.0 s.d = 3.0 s.os = base.MyStruct(43, 28.0, False) s.ob = False s.ou8 = 252 s.ou16 = 4034 s.ou32 = 124464 s.ou64 = 5465768 s.oi8 = -60 s.oi16 = 4055 s.oi32 = 124465 s.oi64 = 5465729 s.of = 5.0 s.od = 6.4 data = w.finalize(s) return validate_out(data, path)
def test_out_union(path: str) -> bool: i = for_copy() w = scalgoproto.Writer() root = w.construct_table(union.Table3Out) v1 = root.add_v1() v1.a.v1 = "text1" v1.b.v1 = "text2" v1.c.v1 = w.construct_text("text3") v1.d.v1 = i.v1.a.v1 v1.e.v1 = i.v1.b.v1 v2 = root.add_v2() v2.a.v2 = b"bytes1" v2.b.v2 = b"bytes2" v2.c.v2 = w.construct_bytes(b"bytes3") v2.d.v2 = i.v2.a.v2 v2.e.v2 = i.v2.b.v2 v3 = root.add_v3() v3.a.add_v3().a = 1 v3.b.add_v3().a = 2 t1 = w.construct_table(union.Table1Out) t1.a = 3 v3.c.v3 = t1 v3.d.v3 = i.v3.a.v3 v3.e.v3 = i.v3.b.v3 v4 = root.add_v4() v4.a.add_v4().a = 4 v4.b.add_v4().a = 5 t4 = w.construct_table(union.Union1V4Out) t4.a = 6 v4.c.v4 = t4 v4.d.v4 = i.v4.a.v4 v4.e.v4 = i.v4.b.v4 v5 = root.add_v5() v5.a.add_v5(1)[0] = "text4" v5.b.add_v5(1)[0] = "text5" t5 = w.construct_text_list(1) t5[0] = "text6" v5.c.v5 = t5 v5.d.v5 = i.v5.a.v5 v5.e.v5 = i.v5.b.v5 v6 = root.add_v6() v6.a.add_v6(1)[0] = b"bytes4" tt6 = v6.b.add_v6(1) tt6[0] = w.construct_bytes(b"bytes5") t6 = w.construct_bytes_list(1) t6[0] = w.construct_bytes(b"bytes6") v6.c.v6 = t6 v6.d.v6 = i.v6.a.v6 v6.e.v6 = i.v6.b.v6 v7 = root.add_v7() v7.a.add_v7(1).add(0).a = 7 v7.b.add_v7(1).add(0).a = 8 t7 = w.construct_table_list(union.Table1Out, 1) t7.add(0).a = 9 v7.c.v7 = t7 v7.d.v7 = i.v7.a.v7 v7.e.v7 = i.v7.b.v7 v8 = root.add_v8() v8.a.add_v8(1).add(0).a = 10 v8.b.add_v8(1).add(0).a = 11 t8 = w.construct_table_list(union.Union1V8Out, 1) t8.add(0).a = 12 v8.c.v8 = t8 v8.d.v8 = i.v8.a.v8 v8.e.v8 = i.v8.b.v8 v9 = root.add_v9() v9.a.add_v9(1)[0] = 13 v9.b.add_v9(1)[0] = 14 t9 = w.construct_uint32_list(1) t9[0] = 15 v9.c.v9 = t9 v9.d.v9 = i.v9.a.v9 v9.e.v9 = i.v9.b.v9 v10 = root.add_v10() v10.a.add_v10(1)[0] = True v10.b.add_v10(1)[0] = False t10 = w.construct_bool_list(1) t10[0] = True v10.c.v10 = t10 v10.d.v10 = i.v10.a.v10 v10.e.v10 = i.v10.b.v10 data = w.finalize(root) return validate_out(data, path)
def test_out_extend1(path: str) -> bool: w = scalgoproto.Writer() root = w.construct_table(base.Gen1Out) root.aa = 77 data = w.finalize(root) return validate_out(data, path)
def test_out_default(path: str) -> bool: w = scalgoproto.Writer() s = w.construct_table(base.SimpleOut) data = w.finalize(s) return validate_out(data, path)