// File: /workspace/github_c_makefile_star2_O1/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 0x4431e(%rip), %rdi     # 0x102275
callq 0x3c03d
movq %rax, %r15
leaq 0x4432a(%rip), %rdi     # 0x102290
callq 0x3c03d
movq %rax, %rbx
callq 0x3bfe0
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0xbdc6c
movl %eax, %ebp
testl %eax, %eax
jne 0xbdfcc
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3c4b0
xorl %ebp, %ebp
testl %eax, %eax
jne 0xbdfcc
leaq 0x251d7(%rip), %rsi     # 0xe3179
leaq 0x44302(%rip), %rdx     # 0x1022ab
leaq 0x44316(%rip), %rcx     # 0x1022c6
leaq 0x44255(%rip), %r8      # 0x10220c
movq %r12, %rdi
movl $0xb9, %r9d
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testl %ebp, %ebp
jne 0xbe07b
callq 0x35584
movq %rax, %r13
movq %r15, %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x3c49c
leaq 0x442eb(%rip), %rdi     # 0x1022de
callq 0x3c03d
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xbdc6c
testl %eax, %eax
je 0xbe042
movq %r13, %rdi
callq 0x3566a
xorl %ebp, %ebp
testb %al, %al
jne 0xbe073
leaq 0x25157(%rip), %rsi     # 0xe3179
leaq 0x442c4(%rip), %rdx     # 0x1022ed
leaq 0x44296(%rip), %rcx     # 0x1022c6
leaq 0x441d5(%rip), %r8      # 0x10220c
movq %r12, %rdi
movl $0xc9, %r9d
jmp 0xbe067
leaq 0x25130(%rip), %rsi     # 0xe3179
leaq 0x44294(%rip), %rdx     # 0x1022e4
leaq 0x4426f(%rip), %rcx     # 0x1022c6
leaq 0x441ae(%rip), %r8      # 0x10220c
movq %r12, %rdi
movl $0xc8, %r9d
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r13, %rdi
callq 0x35705
testl %ebp, %ebp
jne 0xbe12a
callq 0x35584
movq %rax, %r13
movq %r15, %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x3c49c
leaq 0x44263(%rip), %rdi     # 0x102305
callq 0x3c03d
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xbdc6c
testl %eax, %eax
je 0xbe0f1
movq %r13, %rdi
callq 0x3566a
xorl %ebp, %ebp
testb %al, %al
jne 0xbe122
leaq 0x250a8(%rip), %rsi     # 0xe3179
leaq 0x44215(%rip), %rdx     # 0x1022ed
leaq 0x441e7(%rip), %rcx     # 0x1022c6
leaq 0x44126(%rip), %r8      # 0x10220c
movq %r12, %rdi
movl $0xdb, %r9d
jmp 0xbe116
leaq 0x25081(%rip), %rsi     # 0xe3179
leaq 0x441e5(%rip), %rdx     # 0x1022e4
leaq 0x441c0(%rip), %rcx     # 0x1022c6
leaq 0x440ff(%rip), %r8      # 0x10220c
movq %r12, %rdi
movl $0xda, %r9d
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r13, %rdi
callq 0x35705
movq %r15, %rdi
callq 0x3d1eb
movq %rbx, %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x3d1eb
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop