// File: /workspace/github_cpp_makefile_star2_O3/Naomi1745698[P]BigPrac/test.cpp
// Function: test::boundaryTesting()
void test::boundaryTesting(){
	space spaceMap(15, playerShip);
	PASS = 0;
	playerShip->setCoordinate(0,0);
	//spaceMap.printMap();			//space map print
	std::cout << "Starting location" << std::endl;
	std::cout << "Row coordinate " << playerShip->getRowCoordinate() << std::endl;
	std::cout << "Col coordinate " << playerShip->getColumnCoordinate() << std::endl << std::endl;
	int initalRow = playerShip->getRowCoordinate();
	int initalColumn = playerShip->getColumnCoordinate();
	for(int i = 0; i<4;i++){
		playerShip->setCoordinate(0,0);
		switch (i) {
			case 0:
				//while loop to continue in the move up direction and stop once the boundary has been reached.  
				while(true){ 
					int preYCoordinate = playerShip->getRowCoordinate();
					spaceMap.moveUp();
					std::cout << "MoveUp" << std::endl;
					std::cout << "Row coordinate " << playerShip->getRowCoordinate() << std::endl;
					std::cout << "Col coordinate " << playerShip->getColumnCoordinate() << std::endl << std::endl;
					if(preYCoordinate == playerShip->getRowCoordinate()){
						std::cout << "Reached top of map (" << playerShip->getRowCoordinate() << "," << playerShip->getColumnCoordinate() << ")";
						std::cout << "" << std::endl;
						PASS++;
						break;
					};
				}
				break;
			case 3: 
				//while loop to continue in the move left direction and stop once the boundary has been reached. 
				while(true){
					int preXCoordinate = playerShip->getColumnCoordinate();
					spaceMap.moveLeft();
					std::cout << "Moveleft" << std::endl;
					std::cout << "Row coordinate " << playerShip->getRowCoordinate() << std::endl;
					std::cout << "Col coordinate " << playerShip->getColumnCoordinate() << std::endl << std::endl;
					if(preXCoordinate == playerShip->getColumnCoordinate()){
						std::cout << "Reached left of map (" << playerShip->getRowCoordinate() << "," << playerShip->getColumnCoordinate() << ")";
						std::cout << "" << std::endl;
						PASS++;
						break;						
					}
				}
				break;
			case 1:
				//while loop to continue in the move right direction and stop once the boundary has been reached.  
				while(true){
					int preXCoordinate = playerShip->getColumnCoordinate();
					spaceMap.moveRight();
					std::cout << "MoveRight" << std::endl;
					std::cout << "Row coordinate " << playerShip->getRowCoordinate() << std::endl;
					std::cout << "Col coordinate " << playerShip->getColumnCoordinate() << std::endl << std::endl;
					if(preXCoordinate == playerShip->getColumnCoordinate()){
						std::cout << "Reached right of map (" << playerShip->getRowCoordinate() << "," << playerShip->getColumnCoordinate() << ")";
						std::cout << "" << std::endl;
						PASS++;
						break;						
					}
				}
				break;
			case 2: 
				while(true){
				//while loop to continue in the move down direction and stop once the boundary has been reached.  
					int preYCoordinate = playerShip->getRowCoordinate();
					spaceMap.moveDown();
					std::cout << "MoveDown" << std::endl;
					std::cout << "Row coordinate " << playerShip->getRowCoordinate() << std::endl;
					std::cout << "Col coordinate " << playerShip->getColumnCoordinate() << std::endl << std::endl;
					if(preYCoordinate == playerShip->getRowCoordinate()){
						std::cout << "Reached down of map (" << playerShip->getRowCoordinate() << "," << playerShip->getColumnCoordinate() << ")";
						std::cout << "" << std::endl;
						PASS++;
						break;
					};
				}
				break;
			default:
			
				break;
		}
};
if(PASS == 4 ){
	std::cout << "<------------------boundaryTesting PASS--------------->" << std::endl;
}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
movq 0x20(%rdi), %rdx
leaq 0x10(%rsp), %rdi
movl $0xf, %esi
callq 0x3974
movl $0x0, 0x74(%rbx)
movq 0x20(%rbx), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3028
movq 0x5fbb(%rip), %r14      # 0xcfd8
leaq 0x2825(%rip), %rsi      # 0x9849
movl $0x11, %edx
movq %r14, %rdi
callq 0x21e0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq 0x5f89(%rip), %rdi      # 0xcfd8
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x5f75(%rip), %rdi      # 0xcfd8
leaq 0x27f1(%rip), %rsi      # 0x985b
movl $0xf, %edx
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq 0x5f54(%rip), %rdi      # 0xcfd8
movl %eax, %esi
callq 0x2290
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x5f1c(%rip), %rdi      # 0xcfd8
leaq 0x27a8(%rip), %rsi      # 0x986b
movl $0xf, %edx
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq 0x5efb(%rip), %r14      # 0xcfd8
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x20(%rbx), %rdi
callq 0x304e
movq 0x20(%rbx), %rdi
callq 0x3060
movq $0x0, 0x8(%rsp)
leaq 0x26fe(%rip), %r13      # 0x985b
leaq 0x2707(%rip), %rbp      # 0x986b
movq 0x20(%rbx), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3028
movl 0x8(%rsp), %eax
leaq 0x2694(%rip), %rcx      # 0x9810
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x20(%rbx), %rdi
callq 0x304e
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x50be
movl $0x6, %edx
movq %r14, %rdi
leaq 0x26d1(%rip), %rsi      # 0x987b
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x20(%rbx), %rdi
callq 0x304e
cmpl %eax, %r12d
jne 0x7185
movl $0x14, %edx
movq %r14, %rdi
leaq 0x265c(%rip), %rsi      # 0x9917
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2647(%rip), %rsi      # 0x992c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r12, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2622(%rip), %rsi      # 0x992e
callq 0x21e0
movq %r14, %rdi
leaq 0x2699(%rip), %rsi      # 0x99b4
xorl %edx, %edx
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
jmp 0x78a4
movq 0x20(%rbx), %rdi
callq 0x304e
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x5256
movl $0x8, %edx
movq %r14, %rdi
leaq 0x254e(%rip), %rsi      # 0x98c1
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x20(%rbx), %rdi
callq 0x304e
cmpl %eax, %r12d
jne 0x734e
movl $0x15, %edx
movq %r14, %rdi
leaq 0x24d9(%rip), %rsi      # 0x995d
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x247e(%rip), %rsi      # 0x992c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r12, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2459(%rip), %rsi      # 0x992e
callq 0x21e0
movq %r14, %rdi
leaq 0x24d0(%rip), %rsi      # 0x99b4
xorl %edx, %edx
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
jmp 0x78a4
movq 0x20(%rbx), %rdi
callq 0x3060
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x53e6
movl $0x8, %edx
movq %r14, %rdi
leaq 0x2353(%rip), %rsi      # 0x988f
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x20(%rbx), %rdi
callq 0x3060
cmpl %eax, %r12d
jne 0x7517
movl $0x15, %edx
movq %r14, %rdi
leaq 0x22e3(%rip), %rsi      # 0x9930
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x22b5(%rip), %rsi      # 0x992c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r12, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2290(%rip), %rsi      # 0x992e
callq 0x21e0
movq %r14, %rdi
leaq 0x2307(%rip), %rsi      # 0x99b4
xorl %edx, %edx
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
jmp 0x78a4
movq 0x20(%rbx), %rdi
callq 0x3060
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x5576
movl $0x9, %edx
movq %r14, %rdi
leaq 0x21a2(%rip), %rsi      # 0x98a7
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl $0xf, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r15, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x20(%rbx), %rdi
callq 0x3060
cmpl %eax, %r12d
jne 0x76e0
movl $0x16, %edx
movq %r14, %rdi
leaq 0x2130(%rip), %rsi      # 0x9946
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x20ec(%rip), %rsi      # 0x992c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r12, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x20c7(%rip), %rsi      # 0x992e
callq 0x21e0
movq %r14, %rdi
leaq 0x213e(%rip), %rsi      # 0x99b4
xorl %edx, %edx
callq 0x21e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq %r14, %rdi
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movl 0x74(%rbx), %eax
incl %eax
movl %eax, 0x74(%rbx)
movq 0x8(%rsp), %rcx
incl %ecx
movq %rcx, 0x8(%rsp)
cmpl $0x4, %ecx
jne 0x7164
cmpl $0x4, %eax
jne 0x790c
movq 0x570b(%rip), %rbx      # 0xcfd8
leaq 0x209f(%rip), %rsi      # 0x9973
movl $0x37, %edx
movq %rbx, %rdi
callq 0x21e0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2170
movsbl %al, %esi
movq 0x56d9(%rip), %rdi      # 0xcfd8
callq 0x2050
movq %rax, %rdi
callq 0x20d0
leaq 0x10(%rsp), %rdi
callq 0x643c
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
jmp 0x793b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x643c
movq %rbx, %rdi
callq 0x22a0