// File: interimadd[P]M5Stack-PixelArt/test/pixel_art_manager_test.cpp
// Function: (anonymous namespace)::TestPixelArtManager_AddOnePixelArtWithFrame_Test::TestBody()
TEST_F(TestPixelArtManager, AddOnePixelArtWithFrame)
  {
    MonochromePixelArt frame_zero = {{0}};
    MonochromePixelArt frame_one = {{1}};
    MonochromePixelArtWithFrame *pixel_with_frame = new MonochromePixelArtWithFrame({frame_zero, frame_one});
    mng_small->addPixelArtWithFrame(*pixel_with_frame);

    OperationType no_op = OperationType::NO_OPERATION;
    mng_small->drawNextFrame(no_op);
    EXPECT_EQ(frame_zero, lcd_small->getState());
    mng_small->drawNextFrame(no_op);
    EXPECT_EQ(frame_one, lcd_small->getState());
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movb $0x1, -0x75(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq %rax, -0x50(%rbp)
movb $0x0, -0x61(%rbp)
leaq -0x61(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x1, -0x58(%rbp)
leaq -0x62(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x57400
movq -0x1f0(%rbp), %rdi
movq -0x1e8(%rbp), %rcx
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
callq 0x57420
jmp 0x5e6ce
movb $0x0, -0x75(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
movq $0x1, -0x28(%rbp)
leaq -0x76(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x574a0
movq -0x200(%rbp), %rcx
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x20(%rbp), %rdi
callq 0x574c0
jmp 0x5e70c
leaq -0x76(%rbp), %rdi
callq 0x57540
leaq -0x48(%rbp), %rax
movq %rax, -0x210(%rbp)
addq $0x18, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x218(%rbp)
callq 0x57560
movq -0x210(%rbp), %rcx
movq -0x218(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x208(%rbp)
jne 0x5e72b
leaq -0x62(%rbp), %rdi
callq 0x575c0
movb $0x1, -0xd3(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0x228(%rbp)
movq %rax, -0xc0(%rbp)
movb $0x1, -0xd1(%rbp)
leaq -0xd1(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq $0x1, -0xc8(%rbp)
leaq -0xd2(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x57400
movq -0x228(%rbp), %rdi
movq -0x220(%rbp), %rcx
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
callq 0x57420
jmp 0x5e7d7
movb $0x0, -0xd3(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq $0x1, -0x98(%rbp)
leaq -0xd4(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0x574a0
movq -0x230(%rbp), %rcx
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x574c0
jmp 0x5e82d
leaq -0xd4(%rbp), %rdi
callq 0x57540
leaq -0xb8(%rbp), %rax
movq %rax, -0x240(%rbp)
addq $0x18, %rax
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x248(%rbp)
callq 0x57560
movq -0x240(%rbp), %rcx
movq -0x248(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x238(%rbp)
jne 0x5e852
leaq -0xd2(%rbp), %rdi
callq 0x575c0
movl $0x20, %edi
callq 0x525d0
movq %rax, -0x250(%rbp)
jmp 0x5e8a2
movb $0x1, -0x142(%rbp)
leaq -0x138(%rbp), %rdi
movq %rdi, -0x140(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x593c0
jmp 0x5e8c2
leaq -0x120(%rbp), %rdi
movq %rdi, -0x140(%rbp)
leaq -0x90(%rbp), %rsi
callq 0x593c0
jmp 0x5e8de
leaq -0x138(%rbp), %rax
movq %rax, -0x108(%rbp)
movq $0x2, -0x100(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x258(%rbp)
callq 0x594b0
movq -0x258(%rbp), %rcx
movq -0x108(%rbp), %rsi
movq -0x100(%rbp), %rdx
leaq -0xf8(%rbp), %rdi
callq 0x594d0
jmp 0x5e92d
movq -0x250(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x6ad50
jmp 0x5e942
movb $0x0, -0x142(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x59550
leaq -0x141(%rbp), %rdi
callq 0x595b0
leaq -0x138(%rbp), %rax
movq %rax, -0x268(%rbp)
addq $0x30, %rax
movq %rax, -0x260(%rbp)
movq -0x260(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x270(%rbp)
callq 0x57740
movq -0x268(%rbp), %rcx
movq -0x270(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x260(%rbp)
jne 0x5e97a
movq -0x1f8(%rbp), %rax
movq -0x250(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0x278(%rbp)
movq -0xe0(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x61670
jmp 0x5e9e0
movq -0x278(%rbp), %rdi
leaq -0x168(%rbp), %rsi
movl $0x1, %edx
callq 0x6b040
jmp 0x5e9fa
leaq -0x168(%rbp), %rdi
callq 0x616b0
movq -0x1f8(%rbp), %rax
movl $0x0, -0x16c(%rbp)
movq 0x28(%rax), %rdi
movl -0x16c(%rbp), %esi
callq 0x6b0b0
jmp 0x5ea28
movq -0x1f8(%rbp), %rax
movq 0x20(%rax), %rsi
leaq -0x198(%rbp), %rdi
callq 0x61640
jmp 0x5ea41
leaq 0x486b8(%rip), %rsi     # 0xa7100
leaq 0x48ac0(%rip), %rdx     # 0xa750f
leaq -0x180(%rbp), %rdi
leaq -0x20(%rbp), %rcx
leaq -0x198(%rbp), %r8
callq 0x595d0
jmp 0x5ea68
leaq -0x198(%rbp), %rdi
callq 0x57740
leaq -0x180(%rbp), %rdi
callq 0x57670
testb $0x1, %al
jne 0x5ea89
jmp 0x5ed72
jmp 0x5ee32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5eafa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x76(%rbp), %rdi
callq 0x57540
leaq -0x48(%rbp), %rax
movq %rax, -0x288(%rbp)
addq $0x18, %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x290(%rbp)
callq 0x57560
movq -0x288(%rbp), %rcx
movq -0x290(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x280(%rbp)
jne 0x5eac7
jmp 0x5eafa
leaq -0x62(%rbp), %rdi
callq 0x575c0
testb $0x1, -0x75(%rbp)
jne 0x5eb0b
jmp 0x5eb4f
movq -0x50(%rbp), %rax
leaq -0x48(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x298(%rbp)
je 0x5eb4d
movq -0x298(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2a0(%rbp)
callq 0x57560
movq -0x2a0(%rbp), %rax
leaq -0x48(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x298(%rbp)
jne 0x5eb1f
jmp 0x5eb4f
jmp 0x5efef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5ebc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xd4(%rbp), %rdi
callq 0x57540
leaq -0xb8(%rbp), %rax
movq %rax, -0x2b0(%rbp)
addq $0x18, %rax
movq %rax, -0x2a8(%rbp)
movq -0x2a8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x57560
movq -0x2b0(%rbp), %rcx
movq -0x2b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2a8(%rbp)
jne 0x5eb93
jmp 0x5ebc6
leaq -0xd2(%rbp), %rdi
callq 0x575c0
testb $0x1, -0xd3(%rbp)
jne 0x5ebdd
jmp 0x5ec2a
movq -0xc0(%rbp), %rax
leaq -0xb8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c0(%rbp)
je 0x5ec28
movq -0x2c0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2c8(%rbp)
callq 0x57560
movq -0x2c8(%rbp), %rax
leaq -0xb8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c0(%rbp)
jne 0x5ebf7
jmp 0x5ec2a
jmp 0x5efe6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5efda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
movq -0x140(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2d0(%rbp)
je 0x5ec97
movq -0x2d0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2d8(%rbp)
callq 0x57740
movq -0x2d8(%rbp), %rax
leaq -0x138(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2d0(%rbp)
jne 0x5ec66
jmp 0x5ed17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5ecbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x59550
leaq -0x141(%rbp), %rdi
callq 0x595b0
leaq -0x138(%rbp), %rax
movq %rax, -0x2e8(%rbp)
addq $0x30, %rax
movq %rax, -0x2e0(%rbp)
movq -0x2e0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x57740
movq -0x2e8(%rbp), %rcx
movq -0x2f0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2e0(%rbp)
jne 0x5ece4
jmp 0x5ed17
testb $0x1, -0x142(%rbp)
jne 0x5ed22
jmp 0x5ed33
movq -0x250(%rbp), %rdi
movl $0x20, %esi
callq 0x52600
jmp 0x5efda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x616b0
jmp 0x5efda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x57740
jmp 0x5efda
leaq -0x1a0(%rbp), %rdi
callq 0x6f710
jmp 0x5ed80
leaq -0x180(%rbp), %rdi
callq 0x57690
movq %rax, -0x2f8(%rbp)
jmp 0x5ed95
movq -0x2f8(%rbp), %r8
leaq 0x4861e(%rip), %rdx     # 0xa73c1
leaq -0x1a8(%rbp), %rdi
movl $0x1, %esi
movl $0x74, %ecx
callq 0x6c940
jmp 0x5edbb
leaq -0x1a8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x6ca00
jmp 0x5edd0
leaq -0x1a8(%rbp), %rdi
callq 0x6c9c0
leaq -0x1a0(%rbp), %rdi
callq 0x576b0
jmp 0x5ee32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5eebc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5ee21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x6c9c0
leaq -0x1a0(%rbp), %rdi
callq 0x576b0
jmp 0x5eebc
leaq -0x180(%rbp), %rdi
callq 0x576d0
movq -0x1f8(%rbp), %rax
movq 0x28(%rax), %rdi
movl -0x16c(%rbp), %esi
callq 0x6b0b0
jmp 0x5ee56
movq -0x1f8(%rbp), %rax
movq 0x20(%rax), %rsi
leaq -0x1d0(%rbp), %rdi
callq 0x61640
jmp 0x5ee6f
leaq 0x482e1(%rip), %rsi     # 0xa7157
leaq 0x48692(%rip), %rdx     # 0xa750f
leaq -0x1b8(%rbp), %rdi
leaq -0x90(%rbp), %rcx
leaq -0x1d0(%rbp), %r8
callq 0x595d0
jmp 0x5ee99
leaq -0x1d0(%rbp), %rdi
callq 0x57740
leaq -0x1b8(%rbp), %rdi
callq 0x57670
testb $0x1, %al
jne 0x5eeb7
jmp 0x5eeea
jmp 0x5efa4
leaq -0x180(%rbp), %rdi
callq 0x576d0
jmp 0x5efda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x57740
jmp 0x5efda
leaq -0x1d8(%rbp), %rdi
callq 0x6f710
jmp 0x5eef8
leaq -0x1b8(%rbp), %rdi
callq 0x57690
movq %rax, -0x300(%rbp)
jmp 0x5ef0d
movq -0x300(%rbp), %r8
leaq 0x484a6(%rip), %rdx     # 0xa73c1
leaq -0x1e0(%rbp), %rdi
movl $0x1, %esi
movl $0x76, %ecx
callq 0x6c940
jmp 0x5ef33
leaq -0x1e0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x6ca00
jmp 0x5ef48
leaq -0x1e0(%rbp), %rdi
callq 0x6c9c0
leaq -0x1d8(%rbp), %rdi
callq 0x576b0
jmp 0x5efa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5efce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5ef96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x6c9c0
leaq -0x1d8(%rbp), %rdi
callq 0x576b0
jmp 0x5efce
leaq -0x1b8(%rbp), %rdi
callq 0x576d0
leaq -0x90(%rbp), %rdi
callq 0x57740
leaq -0x20(%rbp), %rdi
callq 0x57740
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
leaq -0x1b8(%rbp), %rdi
callq 0x576d0
leaq -0x90(%rbp), %rdi
callq 0x57740
leaq -0x20(%rbp), %rdi
callq 0x57740
movq -0x70(%rbp), %rdi
callq 0x52bc0
nopl (%rax,%rax)