// File: /workspace/github_cpp_makefile_star2_O3/nmmmnu[P]HM3/hm3/test/test_list.cc
// Function: list_test(char const*, hm3::BlackHoleList&)
void list_test(const char *module, hm3::BlackHoleList &list){
	Pair p = nullptr;

	list_populate(list);

	PRINTF_TEST("print it",		true					);
	list.print();

	PRINTF_TEST("count",		list.getCount() == 0			);
	PRINTF_TEST("count estim",	list.getCount(true) == 0		);
	PRINTF_TEST("empty",		list.isEmpty()				);
	PRINTF_TEST("sizeof",		list.getBytes() == 0			);

	PRINTF_TEST("put",		list.put( { "key", "val" } )		);
	PRINTF_TEST("get",		! list.get("key")			);
	PRINTF_TEST("remove",		list.remove("key")			);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0xabbc
leaq 0x20(%rsp), %rsi
movq $0x6, (%rsi)
leaq 0x9c1a(%rip), %rax      # 0xc081
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x5, (%rdx)
leaq 0x9c0a(%rip), %rax      # 0xc088
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xab98
movq %rsp, %r14
movq %r14, %rdi
callq 0xad18
movq %r14, %rdi
callq 0xab4c
leaq 0x20(%rsp), %rsi
movq $0x6, (%rsi)
leaq 0x9bd9(%rip), %rax      # 0xc08e
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x4, (%rdx)
leaq 0x9bc9(%rip), %rax      # 0xc095
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xab98
movq %rsp, %r14
movq %r14, %rdi
callq 0xad18
movq %r14, %rdi
callq 0xab4c
leaq 0x20(%rsp), %rsi
movq $0x4, (%rsi)
leaq 0x9b97(%rip), %rax      # 0xc09a
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x5, (%rdx)
leaq 0x9b85(%rip), %rax      # 0xc09f
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xab98
movq %rsp, %r14
movq %r14, %rdi
callq 0xad18
movq %r14, %rdi
callq 0xab4c
leaq 0x20(%rsp), %rsi
movq $0x5, (%rsi)
leaq 0x9b54(%rip), %rax      # 0xc0a5
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x2, (%rdx)
leaq 0x9b43(%rip), %rax      # 0xc0ab
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xab98
movq %rsp, %r14
movq %r14, %rdi
callq 0xad18
movq %r14, %rdi
callq 0xab4c
leaq 0x9a71(%rip), %r15      # 0xc004
leaq 0x9a84(%rip), %rdx      # 0xc01e
leaq 0x9a86(%rip), %r14      # 0xc027
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x9b7b(%rip), %rdx      # 0xc133
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x9a60(%rip), %rdx      # 0xc02f
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x9b6b(%rip), %rdx      # 0xc151
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x9b46(%rip), %rdx      # 0xc143
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
movl $0x3, %eax
leaq 0x20(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x9a1e(%rip), %rcx      # 0xc03f
movq %rcx, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x9ab7(%rip), %rax      # 0xc0eb
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xab98
leaq 0x99b8(%rip), %r15      # 0xc004
leaq 0x99e8(%rip), %rdx      # 0xc03b
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
movq %rsp, %rdi
callq 0xab4c
leaq 0xee76(%rip), %rax      # 0x114e8
cmpq $0x0, (%rax)
leaq 0x99ad(%rip), %rcx      # 0xc02a
cmoveq %r14, %rcx
leaq 0x99bb(%rip), %rdx      # 0xc043
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2030
leaq 0x99ab(%rip), %rdx      # 0xc047
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8(%rsp), %rdi
callq 0xab4c
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x26c2
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xab4c
movq %rbx, %rdi
callq 0x2240