The task for this assignment is to write a full C++ program that: 1. Reads in a 20x20 environment from standard-input (std::cin). 2. Finds the robot’s starting position within the environment (denoted...

The task for this assignment is to write a full C++ program that: 1. Reads in a 20x20 environment from standard-input (std::cin). 2. Finds the robot’s starting position within the environment (denoted by “S”). 3. Executes the Identify Reachable Positions algorithm (Section 3.2.1). 4. Executes the Path Planning algorithm (Section 3.3.1) to find a path. 5. Prints out the environment and the path to be followed by robot to standard output (std::cout). You may assume that the environment is a fixed size of 20x20, except for Milestone 4. This assignment has four Milestones. To receive a PA/CR grade, you only need to complete Milestones 1 & 2. To receive higher grades, you will need to complete Milestones 3 & 4. Take careful note of the Marking Rubric on Canvas. Milestones should be completed in sequence. For example, if you attempt Milestone 3, but your Milestone 2 is buggy, you won’t get any marks for Milestone 3. 3.1 Milestone 1: Writing Tests Before starting out on implementation, it is good practice to write some tests. We are going to use I/O-blackbox testing. That is, we will give our program an environment to solve (as Input), and then test that our program’s Output is what we expect it to be. To run I/O-blackbox testing, we need to design appropriate environments and workout what should be the output if our program is 100% correct. A test consists of two text-files: 1. .env - The input environment for the program to solve 2. .expout - The expected output which is the solution to the environment. A test passes if the output of your program matches the expected output. Section 4.4 explains how to run your tests using the diff tool. We will also do a demo in the lectorial (Workshop). You should aim to write a minimum of four tests2 . We will mark your tests based on how suitable they are for testing that your program is 100% correct. Just having four tests is not enough for full marks. Identify scenarios where your program might break and construct tests accordingly. The starter code contains a folder with one sample test case. This should give you an idea of how your tests should be formatted (the sample will not be counted when marking).
Mar 21, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here