// File: /workspace/github_cpp_makefile_star2_O1/yasz24[P]eau2/tests/testSerialize.cpp
// Function: testStringColumnSerialization()
void testStringColumnSerialization() {
    Sys* tester = new Sys();
    Deserializable* ds = new Deserializable();
    StringColumn* sc = new StringColumn();
    sc->push_back(new String("taco"));
    sc->push_back(new String("dorito"));
    sc->push_back(new String("nacho"));
    sc->push_back(new String("enchilada"));
    char* string_is_serialized = sc->serialize();
    StringColumn* is_two = dynamic_cast<StringColumn*>(ds->deserialize(string_is_serialized));
    tester->t_true(strcmp(string_is_serialized, is_two->serialize()) == 0);
    delete sc;
    tester->OK("Passed String Column Serialization Tests");
    delete tester;
    delete [] ds;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0x1, %edi
callq 0x7200
movq %rax, %rbx
movl $0x1, %edi
callq 0x7200
movq %rax, %r15
movl $0x28, %edi
callq 0x7200
movq %rax, %r14
movq %rax, %rdi
callq 0xb068
movl $0x20, %edi
callq 0x7200
movq %rax, %r12
movq $0x0, 0x8(%rax)
leaq 0x237dd(%rip), %r13     # 0x2b478
movq %r13, (%rax)
movq $0x4, 0x10(%rax)
movl $0x5, %edi
callq 0x7030
movq %rax, 0x18(%r12)
movl $0x6f636174, (%rax)     # imm = 0x6F636174
movb $0x0, 0x4(%rax)
movq (%r14), %rax
movq %r14, %rdi
movq %r12, %rsi
callq *0xb8(%rax)
movl $0x20, %edi
callq 0x7200
movq %rax, %r12
movq $0x0, 0x8(%rax)
movq %r13, (%rax)
movq $0x6, 0x10(%rax)
movl $0x7, %edi
callq 0x7030
movq %rax, 0x18(%r12)
movl $0x6f7469, 0x3(%rax)    # imm = 0x6F7469
movl $0x69726f64, (%rax)     # imm = 0x69726F64
movb $0x0, 0x6(%rax)
movq (%r14), %rax
movq %r14, %rdi
movq %r12, %rsi
callq *0xb8(%rax)
movl $0x20, %edi
callq 0x7200
movq %rax, %r12
movq $0x0, 0x8(%rax)
movq %r13, (%rax)
movq $0x5, 0x10(%rax)
movl $0x6, %edi
callq 0x7030
movq %rax, 0x18(%r12)
movw $0x6f, 0x4(%rax)
movl $0x6863616e, (%rax)     # imm = 0x6863616E
movb $0x0, 0x5(%rax)
movq (%r14), %rax
movq %r14, %rdi
movq %r12, %rsi
callq *0xb8(%rax)
movl $0x20, %edi
callq 0x7200
movq %rax, %r12
movq $0x0, 0x8(%rax)
movq %r13, (%rax)
movq $0x9, 0x10(%rax)
movl $0xa, %edi
callq 0x7030
movq %rax, 0x18(%r12)
movabsq $0x64616c6968636e65, %rcx # imm = 0x64616C6968636E65
movq %rcx, (%rax)
movw $0x61, 0x8(%rax)
movb $0x0, 0x9(%rax)
movq (%r14), %rax
movq %r14, %rdi
movq %r12, %rsi
callq *0xb8(%rax)
movq (%r14), %rax
movq %r14, %rdi
callq *0x38(%rax)
movq %rax, %r12
movq %r15, %rdi
movq %rax, %rsi
callq 0x1cd0c
leaq 0x234aa(%rip), %rsi     # 0x2b288
leaq 0x234eb(%rip), %rdx     # 0x2b2d0
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x7230
movq (%rax), %rcx
movq %rax, %rdi
callq *0x38(%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x7290
testl %eax, %eax
jne 0x7e3d
movq (%r14), %rax
movq %r14, %rdi
callq *0x8(%rax)
leaq 0x18313(%rip), %rsi     # 0x2012a
movq %rbx, %rdi
callq 0x127ec
movq %rbx, %rdi
callq 0x71d0
movq %r15, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7270
leaq 0x1889a(%rip), %rsi     # 0x206de
movq %rbx, %rdi
callq 0x127ec
movl $0x1, %edi
callq 0x7260
jmp 0x7e5c
jmp 0x7e5c
jmp 0x7e5c
movq %rax, %rbx
movq %r12, %r14
jmp 0x7e67
movq %rax, %rbx
movq %r14, %rdi
callq 0x71d0
movq %rbx, %rdi
callq 0x7350