// File: philipperemy[P]digital-setting-circles/Test.cpp
// Function: Test::test_StarData()
void Test::test_StarData()
{
    setUpErrorMessage("test_ValidateStarData() - failed");

    StarData starData;

    assertTrue(!starDataNamespace::validStarData(starData));

    assertNan(starData.az);
    assertNan(starData.el);
    assertNan(starData.ra);
    assertNan(starData.dec);
    assertNan(starData.time);
    assertEquals(0.0, starData.time);

    starData.az = 1;
    starData.el = 2;
    starData.ra = 3;
    starData.dec = 4;
    starData.time = 5;

    assertTrue(starDataNamespace::validStarData(starData));

    assertEquals(1.0, starData.az);
    assertEquals(2.0, starData.el);
    assertEquals(3.0, starData.ra);
    assertEquals(4.0, starData.dec);
    assertEquals(5.0, starData.time);

    starData.clearData();

    assertTrue(!starDataNamespace::validStarData(starData));

    assertNan(starData.az);
    assertNan(starData.el);
    assertEquals(3.0, starData.ra);
    assertEquals(4.0, starData.dec);
    assertNan(starData.time);
    assertEquals(0.0, starData.time);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3550
movq -0x78(%rbp), %rdx
leaq 0xb4b4(%rip), %rsi      # 0x3dc63
leaq -0x28(%rbp), %rdi
callq 0x5b40
jmp 0x327ba
movq -0x80(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x35710
jmp 0x327c9
leaq -0x28(%rbp), %rdi
callq 0x31c0
leaq -0x29(%rbp), %rdi
callq 0x3370
leaq -0x70(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x325d0
movq -0x90(%rbp), %rdi
callq 0x350f0
movb %al, -0x81(%rbp)
jmp 0x327ff
movq -0x80(%rbp), %rdi
movb -0x81(%rbp), %al
notb %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x35b40
jmp 0x32818
movq -0x80(%rbp), %rdi
movsd -0x68(%rbp), %xmm0
callq 0x35730
jmp 0x32828
movq -0x80(%rbp), %rdi
movsd -0x60(%rbp), %xmm0
callq 0x35730
jmp 0x32838
movq -0x80(%rbp), %rdi
movsd -0x58(%rbp), %xmm0
callq 0x35730
jmp 0x32848
movq -0x80(%rbp), %rdi
movsd -0x50(%rbp), %xmm0
callq 0x35730
jmp 0x32858
movq -0x80(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
callq 0x35730
jmp 0x32868
movq -0x80(%rbp), %rdi
movsd -0x48(%rbp), %xmm1
xorps %xmm0, %xmm0
callq 0x35d20
jmp 0x3287b
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0x68(%rbp)
movabsq $0x4000000000000000, %rax # imm = 0x4000000000000000
movq %rax, -0x60(%rbp)
movabsq $0x4008000000000000, %rax # imm = 0x4008000000000000
movq %rax, -0x58(%rbp)
movabsq $0x4010000000000000, %rax # imm = 0x4010000000000000
movq %rax, -0x50(%rbp)
movabsq $0x4014000000000000, %rax # imm = 0x4014000000000000
movq %rax, -0x48(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x350f0
movb %al, -0x91(%rbp)
jmp 0x328d2
movq -0x80(%rbp), %rdi
movb -0x91(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x35b40
jmp 0x328e9
movq -0x80(%rbp), %rdi
movsd -0x68(%rbp), %xmm1
movsd 0x5716(%rip), %xmm0     # 0x38010
callq 0x35d20
jmp 0x32901
movq -0x80(%rbp), %rdi
movsd -0x60(%rbp), %xmm1
movsd 0x572e(%rip), %xmm0     # 0x38040
callq 0x35d20
jmp 0x32919
movq -0x80(%rbp), %rdi
movsd -0x58(%rbp), %xmm1
movsd 0xb10e(%rip), %xmm0     # 0x3da38
callq 0x35d20
jmp 0x32931
movq -0x80(%rbp), %rdi
movsd -0x50(%rbp), %xmm1
movsd 0xb0fe(%rip), %xmm0     # 0x3da40
callq 0x35d20
jmp 0x32949
movq -0x80(%rbp), %rdi
movsd -0x48(%rbp), %xmm1
movsd 0xb0ee(%rip), %xmm0     # 0x3da48
callq 0x35d20
jmp 0x32961
leaq -0x70(%rbp), %rdi
callq 0x32630
jmp 0x3296c
leaq -0x70(%rbp), %rdi
callq 0x350f0
movb %al, -0x92(%rbp)
jmp 0x3297d
movq -0x80(%rbp), %rdi
movb -0x92(%rbp), %al
notb %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x35b40
jmp 0x32996
movq -0x80(%rbp), %rdi
movsd -0x68(%rbp), %xmm0
callq 0x35730
jmp 0x329a6
movq -0x80(%rbp), %rdi
movsd -0x60(%rbp), %xmm0
callq 0x35730
jmp 0x329b6
movq -0x80(%rbp), %rdi
movsd -0x58(%rbp), %xmm1
movsd 0xb071(%rip), %xmm0     # 0x3da38
callq 0x35d20
jmp 0x329ce
movq -0x80(%rbp), %rdi
movsd -0x50(%rbp), %xmm1
movsd 0xb061(%rip), %xmm0     # 0x3da40
callq 0x35d20
jmp 0x329e6
movq -0x80(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
callq 0x35730
jmp 0x329f6
movq -0x80(%rbp), %rdi
movsd -0x48(%rbp), %xmm1
xorps %xmm0, %xmm0
callq 0x35d20
jmp 0x32a09
leaq -0x70(%rbp), %rdi
callq 0x32620
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32a3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x31c0
leaq -0x29(%rbp), %rdi
callq 0x3370
jmp 0x32a5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x32620
movq -0x38(%rbp), %rdi
callq 0x3540
nopw (%rax,%rax)