// File: eecs280staff[P]unit_test_framework/test/pairs_and_sequences.cpp
// Function: map_print()
TEST(map_print) {
    map<string, int> m1;
    map<string, int> m2;
    m1["hello"] = 3;
    m2["hello"] = 4;
    m1["world"] = -1;
    m2["world"] = -1;
    ASSERT_EQUAL(m1, m2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
leaq -0x30(%rbp), %rdi
callq 0x7230
leaq -0x60(%rbp), %rdi
callq 0x7230
leaq -0x81(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x3410
movq -0x118(%rbp), %rdx
leaq 0xd57a(%rip), %rsi      # 0x11088
leaq -0x80(%rbp), %rdi
callq 0x4670
jmp 0x3b19
leaq -0x30(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x7250
movq %rax, -0x120(%rbp)
jmp 0x3b2f
movq -0x120(%rbp), %rax
movl $0x3, (%rax)
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3290
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x3410
movq -0x128(%rbp), %rdx
leaq 0xd516(%rip), %rsi      # 0x11088
leaq -0xb8(%rbp), %rdi
callq 0x4670
jmp 0x3b80
leaq -0x60(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x7250
movq %rax, -0x130(%rbp)
jmp 0x3b99
movq -0x130(%rbp), %rax
movl $0x4, (%rax)
leaq -0xb8(%rbp), %rdi
callq 0x3160
leaq -0xb9(%rbp), %rdi
callq 0x3290
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x3410
movq -0x138(%rbp), %rdx
leaq 0xd4c4(%rip), %rsi      # 0x110a3
leaq -0xe0(%rbp), %rdi
callq 0x4670
jmp 0x3bed
leaq -0x30(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x7250
movq %rax, -0x140(%rbp)
jmp 0x3c06
movq -0x140(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq -0xe0(%rbp), %rdi
callq 0x3160
leaq -0xe1(%rbp), %rdi
callq 0x3290
leaq -0x109(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x3410
movq -0x148(%rbp), %rdx
leaq 0xd457(%rip), %rsi      # 0x110a3
leaq -0x108(%rbp), %rdi
callq 0x4670
jmp 0x3c5a
leaq -0x60(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x7250
movq %rax, -0x150(%rbp)
jmp 0x3c73
movq -0x150(%rbp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq -0x108(%rbp), %rdi
callq 0x3160
leaq -0x109(%rbp), %rdi
callq 0x3290
leaq 0xd40a(%rip), %rcx      # 0x110a9
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x1c, %edx
callq 0x7330
jmp 0x3cb3
leaq -0x60(%rbp), %rdi
callq 0x74a0
leaq -0x30(%rbp), %rdi
callq 0x74a0
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3cfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3290
jmp 0x3de3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3d40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x3160
leaq -0xb9(%rbp), %rdi
callq 0x3290
jmp 0x3de3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3d83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x3160
leaq -0xe1(%rbp), %rdi
callq 0x3290
jmp 0x3de3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3dc3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x3160
leaq -0x109(%rbp), %rdi
callq 0x3290
jmp 0x3de3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x74a0
leaq -0x30(%rbp), %rdi
callq 0x74a0
movq -0x90(%rbp), %rdi
callq 0x3400
nopw %cs:(%rax,%rax)