// File: /workspace/github_cpp_makefile_star2_O2/MarkOates[P]file-downloader/test_file_downloader.cpp
// Function: FileDownloader_will_set_DOWNLOADED_status_on_a_successful_download_invoker()
BOOST_AUTO_TEST_CASE(FileDownloader_will_set_DOWNLOADED_status_on_a_successful_download)
{
   std::string file_url = "https://www.allegro.cc/theme/default/image/logo.png";
   std::string local_filename = "logo.png";
   FileDownloader::FileHandle handle = FileDownloader::download_file(file_url, local_filename);

   BOOST_CHECK_EQUAL(FileDownloader::DOWNLOADED, handle.get_status());

   remove(local_filename.c_str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x240, %rsp            # imm = 0x240
movq 0x7856(%rip), %rbx      # 0xd1e0
leaq 0x37e7(%rip), %r15      # 0x9178
movq %r15, -0x70(%rbp)
leaq 0x37f4(%rip), %r12      # 0x9190
movq %r12, -0x68(%rbp)
leaq -0x208(%rbp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x3120
movq %r14, %rdi
callq 0x7a9a
pushq $0x22
popq %rsi
movq %r14, %rdi
callq 0x3200
leaq 0x3a0b(%rip), %rsi      # 0x93db
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq 0x3c07(%rip), %rsi      # 0x95ea
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq -0x208(%rbp), %rdi
callq 0x7acc
movq (%rax), %rdx
leaq -0x258(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x70(%rbp), %rsi
pushq $0x45
popq %rdx
movq %rbx, %rdi
callq 0x30f0
leaq -0x208(%rbp), %rdi
callq 0x7b10
movq 0x77ae(%rip), %rbx      # 0xd1e0
movq %r15, -0x60(%rbp)
movq %r12, -0x58(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x3120
movq %r14, %rdi
callq 0x7a9a
pushq $0x22
popq %rsi
movq %r14, %rdi
callq 0x3200
leaq 0x3978(%rip), %rsi      # 0x93db
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq 0x3b83(%rip), %rsi      # 0x95f9
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq -0x208(%rbp), %rdi
callq 0x7acc
movq (%rax), %rdx
leaq -0x248(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x60(%rbp), %rsi
pushq $0x45
popq %rdx
movq %rbx, %rdi
callq 0x30f0
leaq -0x208(%rbp), %rdi
callq 0x7b10
movq 0x771b(%rip), %rbx      # 0xd1e0
movq %r15, -0x50(%rbp)
movq %r12, -0x48(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x3120
movq %r14, %rdi
callq 0x7a9a
pushq $0x22
popq %rsi
movq %r14, %rdi
callq 0x3200
leaq 0x38e5(%rip), %rsi      # 0x93db
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq 0x3b00(%rip), %rsi      # 0x9609
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq -0x208(%rbp), %rdi
callq 0x7acc
movq (%rax), %rdx
leaq -0x238(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x50(%rbp), %rsi
pushq $0x45
popq %rdx
movq %rbx, %rdi
callq 0x30f0
leaq -0x208(%rbp), %rdi
callq 0x7b10
callq 0x5cac
movq 0x7683(%rip), %rbx      # 0xd1e0
movq %r15, -0x40(%rbp)
movq %r12, -0x38(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x3120
movq %r14, %rdi
callq 0x7a9a
pushq $0x22
popq %rsi
movq %r14, %rdi
callq 0x3200
leaq 0x384d(%rip), %rsi      # 0x93db
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq 0x3a75(%rip), %rsi      # 0x9616
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq -0x208(%rbp), %rdi
callq 0x7acc
movq (%rax), %rdx
leaq -0x228(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x40(%rbp), %rsi
pushq $0x45
popq %rdx
movq %rbx, %rdi
callq 0x30f0
leaq -0x208(%rbp), %rdi
callq 0x7b10
movq 0x75f0(%rip), %rbx      # 0xd1e0
movq %r15, -0x30(%rbp)
movq %r12, -0x28(%rbp)
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x3120
movq %r14, %rdi
callq 0x7a9a
pushq $0x22
popq %rsi
movq %r14, %rdi
callq 0x3200
leaq 0x37ba(%rip), %rsi      # 0x93db
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq 0x39f5(%rip), %rsi      # 0x9629
leaq -0x208(%rbp), %rdi
callq 0x31b0
leaq -0x208(%rbp), %rdi
callq 0x7acc
movq (%rax), %rdx
leaq -0x218(%rbp), %rcx
movq %rdx, (%rcx)
addq 0x8(%rax), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x30(%rbp), %rsi
pushq $0x45
popq %rdx
movq %rbx, %rdi
callq 0x30f0
leaq -0x208(%rbp), %rdi
callq 0x7b10
addq $0x240, %rsp            # imm = 0x240
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5c94
jmp 0x5c94
jmp 0x5c94
jmp 0x5c94
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
callq 0x7b10
movq %rbx, %rdi
callq 0x31e0
nop