// File: /workspace/github_cpp_makefile_star2_O2/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 0x9ef8
leaq 0x20(%rsp), %rsi
movq $0x6, (%rsi)
leaq 0x8cca(%rip), %rax      # 0xb081
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x5, (%rdx)
leaq 0x8cba(%rip), %rax      # 0xb088
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x9ed4
movq %rsp, %r14
movq %r14, %rdi
callq 0xa04c
movq %r14, %rdi
callq 0x9eb4
leaq 0x20(%rsp), %rsi
movq $0x6, (%rsi)
leaq 0x8c89(%rip), %rax      # 0xb08e
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x4, (%rdx)
leaq 0x8c79(%rip), %rax      # 0xb095
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x9ed4
movq %rsp, %r14
movq %r14, %rdi
callq 0xa04c
movq %r14, %rdi
callq 0x9eb4
leaq 0x20(%rsp), %rsi
movq $0x4, (%rsi)
leaq 0x8c47(%rip), %rax      # 0xb09a
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x5, (%rdx)
leaq 0x8c35(%rip), %rax      # 0xb09f
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x9ed4
movq %rsp, %r14
movq %r14, %rdi
callq 0xa04c
movq %r14, %rdi
callq 0x9eb4
leaq 0x20(%rsp), %rsi
movq $0x5, (%rsi)
leaq 0x8c04(%rip), %rax      # 0xb0a5
movq %rax, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq $0x2, (%rdx)
leaq 0x8bf3(%rip), %rax      # 0xb0ab
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x9ed4
movq %rsp, %r14
movq %r14, %rdi
callq 0xa04c
movq %r14, %rdi
callq 0x9eb4
leaq 0x8b21(%rip), %r15      # 0xb004
leaq 0x8b34(%rip), %rdx      # 0xb01e
leaq 0x8b36(%rip), %r14      # 0xb027
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8c2b(%rip), %rdx      # 0xb133
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8b10(%rip), %rdx      # 0xb02f
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8c1b(%rip), %rdx      # 0xb151
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8bf6(%rip), %rdx      # 0xb143
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
pushq $0x3
popq %rax
leaq 0x20(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x8ad0(%rip), %rcx      # 0xb03f
movq %rcx, 0x8(%rsi)
leaq 0x10(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x8b69(%rip), %rax      # 0xb0eb
movq %rax, 0x8(%rdx)
movq %rsp, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x9ed4
leaq 0x8a6a(%rip), %r15      # 0xb004
leaq 0x8a9a(%rip), %rdx      # 0xb03b
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
movq %rsp, %rdi
callq 0x9eb4
leaq 0xef18(%rip), %rax      # 0x114d8
cmpq $0x0, (%rax)
leaq 0x8a5f(%rip), %rcx      # 0xb02a
cmoveq %r14, %rcx
leaq 0x8a6d(%rip), %rdx      # 0xb043
movq %r15, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2030
leaq 0x8a5d(%rip), %rdx      # 0xb047
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2030
leaq 0x8(%rsp), %rdi
callq 0x9eb4
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x2610
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x9eb4
movq %rbx, %rdi
callq 0x2230