// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/core/colorspace.c
// Function: gt_colorspace_unit_test
int gt_colorspace_unit_test(GtError *err)
{
  int had_err = 0;
  GtStr *in_gt = gt_str_new_cstr("A0112233122331211332311223"),
        *con_gt = gt_str_new_cstr("AACAGATACTCGCAGTGCGATGTCGA"),
        *output = gt_str_new();

  had_err = gt_colorspace_decode_string(in_gt,
                                        output,
                                        err);
  gt_ensure(gt_str_cmp(con_gt, output));

  if (!had_err)
  {
    int test_err;
    GtError *my_err = gt_error_new();

    gt_str_delete(in_gt);
    gt_str_reset(output);
    in_gt = gt_str_new_cstr("X0011");

    test_err = gt_colorspace_decode_string(in_gt,
                                           output,
                                           my_err);

    gt_ensure(test_err);
    gt_ensure(gt_error_is_set(my_err));

    gt_error_delete(my_err);
  }
  if (!had_err)
  {
    int test_err;
    GtError *my_err = gt_error_new();

    gt_str_delete(in_gt);
    gt_str_reset(output);
    in_gt = gt_str_new_cstr("a0011a");

    test_err = gt_colorspace_decode_string(in_gt,
                                           output,
                                           my_err);

    gt_ensure(test_err);
    gt_ensure(gt_error_is_set(my_err));

    gt_error_delete(my_err);
  }
  gt_str_delete(in_gt);
  gt_str_delete(con_gt);
  gt_str_delete(output);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r12
leaq 0x4a52c(%rip), %rdi     # 0xeb462
callq 0x13da9
movq %rax, %r15
leaq 0x4a538(%rip), %rdi     # 0xeb47d
callq 0x13da9
movq %rax, %rbx
callq 0x13d5c
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0xa0bb8
testl %eax, %eax
je 0xa0f6e
movl %eax, %ebp
jmp 0xa10db
movq %rbx, %rdi
movq %r14, %rsi
callq 0x14573
testl %eax, %eax
je 0xa104f
callq 0xbff0
movq %rax, %r13
movq %r15, %rdi
callq 0x152db
movq %r14, %rdi
callq 0x1452f
leaq 0x4a52b(%rip), %rdi     # 0xeb4cb
callq 0x13da9
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xa0bb8
testl %eax, %eax
je 0xa107d
movq %r13, %rdi
callq 0xc103
testb %al, %al
je 0xa10a4
movq %r13, %rdi
callq 0xc291
callq 0xbff0
movq %rax, %r13
movq %r15, %rdi
callq 0x152db
movq %r14, %rdi
callq 0x1452f
leaq 0x4a4fd(%rip), %rdi     # 0xeb4f2
callq 0x13da9
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xa0bb8
testl %eax, %eax
je 0xa1104
movq %r13, %rdi
callq 0xc103
xorl %ebp, %ebp
testb %al, %al
jne 0xa1133
leaq 0x2b12d(%rip), %rsi     # 0xcc159
leaq 0x4a4a7(%rip), %rdx     # 0xeb4da
leaq 0x4a479(%rip), %rcx     # 0xeb4b3
leaq 0x4a3b8(%rip), %r8      # 0xeb3f9
movq %r12, %rdi
movl $0xdb, %r9d
jmp 0xa1129
leaq 0x2b103(%rip), %rsi     # 0xcc159
leaq 0x4a43b(%rip), %rdx     # 0xeb498
leaq 0x4a44f(%rip), %rcx     # 0xeb4b3
leaq 0x4a38e(%rip), %r8      # 0xeb3f9
movq %r12, %rdi
movl $0xb9, %r9d
xorl %eax, %eax
callq 0xc007
jmp 0xa10d8
leaq 0x2b0d5(%rip), %rsi     # 0xcc159
leaq 0x4a446(%rip), %rdx     # 0xeb4d1
leaq 0x4a421(%rip), %rcx     # 0xeb4b3
leaq 0x4a360(%rip), %r8      # 0xeb3f9
movq %r12, %rdi
movl $0xc8, %r9d
jmp 0xa10c9
leaq 0x2b0ae(%rip), %rsi     # 0xcc159
leaq 0x4a428(%rip), %rdx     # 0xeb4da
leaq 0x4a3fa(%rip), %rcx     # 0xeb4b3
leaq 0x4a339(%rip), %r8      # 0xeb3f9
movq %r12, %rdi
movl $0xc9, %r9d
xorl %eax, %eax
callq 0xc007
movq %r13, %rdi
callq 0xc291
pushq $-0x1
popq %rbp
movq %r15, %rdi
callq 0x152db
movq %rbx, %rdi
callq 0x152db
movq %r14, %rdi
callq 0x152db
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2b04e(%rip), %rsi     # 0xcc159
leaq 0x4a3bf(%rip), %rdx     # 0xeb4d1
leaq 0x4a39a(%rip), %rcx     # 0xeb4b3
leaq 0x4a2d9(%rip), %r8      # 0xeb3f9
movq %r12, %rdi
movl $0xda, %r9d
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rbp
movq %r13, %rdi
callq 0xc291
jmp 0xa10db
nopl (%rax)