// File: /workspace/github_cpp_makefile_star2_O1/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 0x609d(%rip), %r14      # 0xcfd8
leaq 0x2917(%rip), %rsi      # 0x9859
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 0x606b(%rip), %rdi      # 0xcfd8
callq 0x2050
movq %rax, %rdi
callq 0x20d0
movq 0x6057(%rip), %rdi      # 0xcfd8
leaq 0x28e3(%rip), %rsi      # 0x986b
movl $0xf, %edx
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq 0x6036(%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 0x5ffe(%rip), %rdi      # 0xcfd8
leaq 0x289a(%rip), %rsi      # 0x987b
movl $0xf, %edx
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq 0x5fdd(%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 0x2800(%rip), %rbp      # 0x987b
movq 0x20(%rbx), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3028
cmpl $0x3, 0x8(%rsp)
ja 0x7812
movl 0x8(%rsp), %eax
leaq 0x2782(%rip), %rcx      # 0x9820
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 0x27bf(%rip), %rsi      # 0x988b
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
leaq 0x2764(%rip), %rsi      # 0x986b
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
movl %eax, %r15d
cmpl %eax, %r12d
jne 0x70a7
movl $0x14, %edx
movq %r14, %rdi
leaq 0x2743(%rip), %rsi      # 0x9927
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x272e(%rip), %rsi      # 0x993c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r13, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2709(%rip), %rsi      # 0x993e
callq 0x21e0
movq %r14, %rdi
leaq 0x2780(%rip), %rsi      # 0x99c4
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
incl 0x74(%rbx)
cmpl %r15d, %r12d
jne 0x70a7
jmp 0x7812
movq 0x20(%rbx), %rdi
callq 0x304e
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x5256
movl $0x8, %edx
movq %r14, %rdi
leaq 0x2629(%rip), %rsi      # 0x98d1
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
leaq 0x2588(%rip), %rsi      # 0x986b
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
movl %eax, %r15d
cmpl %eax, %r12d
jne 0x7283
movl $0x15, %edx
movq %r14, %rdi
leaq 0x25ad(%rip), %rsi      # 0x996d
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2552(%rip), %rsi      # 0x993c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r13, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x252d(%rip), %rsi      # 0x993e
callq 0x21e0
movq %r14, %rdi
leaq 0x25a4(%rip), %rsi      # 0x99c4
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
incl 0x74(%rbx)
cmpl %r15d, %r12d
jne 0x7283
jmp 0x7812
movq 0x20(%rbx), %rdi
callq 0x3060
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x53e6
movl $0x8, %edx
movq %r14, %rdi
leaq 0x241b(%rip), %rsi      # 0x989f
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
leaq 0x23ac(%rip), %rsi      # 0x986b
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
movl %eax, %r15d
cmpl %eax, %r12d
jne 0x745f
movl $0x15, %edx
movq %r14, %rdi
leaq 0x23a4(%rip), %rsi      # 0x9940
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2376(%rip), %rsi      # 0x993c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r13, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2351(%rip), %rsi      # 0x993e
callq 0x21e0
movq %r14, %rdi
leaq 0x23c8(%rip), %rsi      # 0x99c4
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
incl 0x74(%rbx)
cmpl %r15d, %r12d
jne 0x745f
jmp 0x7812
movq 0x20(%rbx), %rdi
callq 0x3060
movl %eax, %r12d
leaq 0x10(%rsp), %rdi
callq 0x5576
movl $0x9, %edx
movq %r14, %rdi
leaq 0x2257(%rip), %rsi      # 0x98b7
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
leaq 0x21d0(%rip), %rsi      # 0x986b
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
movl %eax, %r15d
cmpl %eax, %r12d
jne 0x763b
movl $0x16, %edx
movq %r14, %rdi
leaq 0x21de(%rip), %rsi      # 0x9956
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x304e
movq %r14, %rdi
movl %eax, %esi
callq 0x2290
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x219a(%rip), %rsi      # 0x993c
callq 0x21e0
movq 0x20(%rbx), %rdi
callq 0x3060
movq %r13, %rdi
movl %eax, %esi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x2175(%rip), %rsi      # 0x993e
callq 0x21e0
movq %r14, %rdi
leaq 0x21ec(%rip), %rsi      # 0x99c4
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
incl 0x74(%rbx)
cmpl %r15d, %r12d
jne 0x763b
movq 0x8(%rsp), %rax
incl %eax
movq %rax, 0x8(%rsp)
cmpl $0x4, %eax
jne 0x707b
cmpl $0x4, 0x74(%rbx)
jne 0x7873
movq 0x57a4(%rip), %rbx      # 0xcfd8
leaq 0x2148(%rip), %rsi      # 0x9983
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 0x5772(%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 0x789a
jmp 0x789a
jmp 0x789a
jmp 0x789a
jmp 0x789a
jmp 0x789a
jmp 0x789a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x643c
movq %rbx, %rdi
callq 0x22a0
nop