// File: /workspace/github_c_makefile_star2_O3/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 0x43210(%rip), %rdi     # 0x1021e6
callq 0x3b785
movq %rax, %r15
leaq 0x4321c(%rip), %rdi     # 0x102201
callq 0x3b785
movq %rax, %rbx
callq 0x3b728
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0xbecf0
testl %eax, %eax
je 0xbf00e
movl %eax, %ebp
jmp 0xbf17d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3bc02
testl %eax, %eax
je 0xbf0ef
callq 0x34f04
movq %rax, %r13
movq %r15, %rdi
callq 0x3c87b
movq %r14, %rdi
callq 0x3bbee
leaq 0x4320f(%rip), %rdi     # 0x10224f
callq 0x3b785
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xbecf0
testl %eax, %eax
je 0xbf11d
movq %r13, %rdi
callq 0x34fea
testb %al, %al
je 0xbf144
movq %r13, %rdi
callq 0x35085
callq 0x34f04
movq %rax, %r13
movq %r15, %rdi
callq 0x3c87b
movq %r14, %rdi
callq 0x3bbee
leaq 0x431e1(%rip), %rdi     # 0x102276
callq 0x3b785
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xbecf0
testl %eax, %eax
je 0xbf1a6
movq %r13, %rdi
callq 0x34fea
xorl %ebp, %ebp
testb %al, %al
jne 0xbf1d7
leaq 0x2408d(%rip), %rsi     # 0xe3159
leaq 0x4318b(%rip), %rdx     # 0x10225e
leaq 0x4315d(%rip), %rcx     # 0x102237
leaq 0x4309c(%rip), %r8      # 0x10217d
movq %r12, %rdi
movl $0xdb, %r9d
jmp 0xbf1cb
leaq 0x24063(%rip), %rsi     # 0xe3159
leaq 0x4311f(%rip), %rdx     # 0x10221c
leaq 0x43133(%rip), %rcx     # 0x102237
leaq 0x43072(%rip), %r8      # 0x10217d
movq %r12, %rdi
movl $0xb9, %r9d
xorl %eax, %eax
callq 0x34f1f
jmp 0xbf178
leaq 0x24035(%rip), %rsi     # 0xe3159
leaq 0x4312a(%rip), %rdx     # 0x102255
leaq 0x43105(%rip), %rcx     # 0x102237
leaq 0x43044(%rip), %r8      # 0x10217d
movq %r12, %rdi
movl $0xc8, %r9d
jmp 0xbf169
leaq 0x2400e(%rip), %rsi     # 0xe3159
leaq 0x4310c(%rip), %rdx     # 0x10225e
leaq 0x430de(%rip), %rcx     # 0x102237
leaq 0x4301d(%rip), %r8      # 0x10217d
movq %r12, %rdi
movl $0xc9, %r9d
xorl %eax, %eax
callq 0x34f1f
movq %r13, %rdi
callq 0x35085
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r15, %rdi
callq 0x3c87b
movq %rbx, %rdi
callq 0x3c87b
movq %r14, %rdi
callq 0x3c87b
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x23fac(%rip), %rsi     # 0xe3159
leaq 0x430a1(%rip), %rdx     # 0x102255
leaq 0x4307c(%rip), %rcx     # 0x102237
leaq 0x42fbb(%rip), %r8      # 0x10217d
movq %r12, %rdi
movl $0xda, %r9d
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r13, %rdi
callq 0x35085
jmp 0xbf17d
nopl (%rax)