// File: /workspace/github_cpp_makefile_star2_O3/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 0xaff8
movl $0x20, %edi
callq 0x7200
movq %rax, %r12
movq $0x0, 0x8(%rax)
leaq 0x2384f(%rip), %r13     # 0x2b4b0
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)
movw $0x6f74, 0x4(%rax)      # imm = 0x6F74
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)
movl $0x6863616e, (%rax)     # imm = 0x6863616E
movw $0x6f, 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 $0x9, 0x10(%rax)
movl $0xa, %edi
callq 0x7030
movq %rax, 0x18(%r12)
movabsq $0x64616c6968636e65, %rcx # imm = 0x64616C6968636E65
movq %rcx, (%rax)
movw $0x61, 0x8(%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 0x1c7b4
leaq 0x23575(%rip), %rsi     # 0x2b310
leaq 0x235b6(%rip), %rdx     # 0x2b358
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 0x7dfa
movq (%r14), %rax
movq %r14, %rdi
callq *0x8(%rax)
leaq 0x18348(%rip), %rsi     # 0x2011c
movq %rbx, %rdi
callq 0x12738
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 0x188c3(%rip), %rsi     # 0x206c4
movq %rbx, %rdi
callq 0x12738
movl $0x1, %edi
callq 0x7260
jmp 0x7e19
jmp 0x7e19
jmp 0x7e19
movq %rax, %rbx
movq %r12, %r14
jmp 0x7e24
movq %rax, %rbx
movq %r14, %rdi
callq 0x71d0
movq %rbx, %rdi
callq 0x7350