<< , >> , Title , Contents , Index

5. TESTING


5.1 TEST PLAN

The following Test Plan was written to test all of the facilities provided by BOTSsim. You will notice that the Test Plan addresses all of the facilities provided by each window or dialogue. The Context-Sensitive Online Help System will also be tested for each dialogue and window. As well as testing whether facilities work or not we have also planned to test whether BOTSsim meets the wishes made by our client. These tests appear at the end of the Test Plan.

5.1.1 Main Dialogue

5.1.1.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.1.2 New Run

1. Make sure that it updates the Status Bar correctly.

2. Make sure it updates the Title Bar correctly.

3. Make sure it loads the default Environment Template.

4. Make sure it loads the default Run Information Variables.

5. Make sure it enables and disables the appropriate functionality.

5.1.1.3 Open Run

1. Make sure that it updates the Status Bar correctly.

2. Make sure it updates the Title Bar correctly.

3. Make sure it loads the default Environment Template.

4. Make sure it loads the default Run Information Variables.

5. Make sure it enables and disables the appropriate functionality.

6. Make sure it only loads valid Runs.

5.1.1.4 Save Run

1. Make sure that it updates the Status Bar correctly.

2. Make sure it enables and disables the appropriate functionality.

3. Make sure it saves the Run correctly.

5.1.1.5 Open Environment Template

1. Make sure that it updates the Status Bar correctly.

2. Make sure it loads the correct Environment Template.

3. Make sure it only loads valid Environment Templates.

5.1.1.6 Edit Environment Templates

1. Make sure it passes control to TED.

5.1.1.7 Edit Run Information Variables

1. Make sure it passes control to the Run Information Dialogue.

5.1.1.8 Start Run

1. Make sure it starts the Brain component.

2. Make sure it starts the Environment component.

3. Make sure the Brain gets initialised correctly.

4. Make sure the Progress Bar gets updated.

5.1.1.9 Pause Run

1. Make sure it pauses the Brain component.

2. Make sure it pauses the Environment component.

3. Make sure it updates the Title Bar correctly.

4. Make sure the Progress Bar does not get updated.

5.1.1.10 Unpause Run

1. Make sure it unpauses the Brain component.

2. Make sure it unpauses the Environment component.

3. Make sure it updates the Title Bar correctly.

4. Make sure the Progress Bar gets updated.

5.1.1.11 Reset Run

1. Make sure it stops the Brain component.

2. Make sure it stops the Environment component.

3. Make sure it updates the Title Bar correctly.

4. Make sure the Progress Bar gets reset (zeroed out).

5.1.1.12 Show Environment Commands

1. Make sure the correct Environment gets displayed.

2. Make sure the Environment Number gets validated correctly.

3. Make sure multiple Environments can be displayed independently.

5.1.1.13 Show Bot Commands

1. Make sure the correct Bot gets displayed.

2. Make sure the Bot ID gets validated correctly.

3. Make sure the Bot Menu Rankings are correct.

5.1.1.14 View Histogram

1. Make sure it passes control to the Histogram Window.

5.1.1.15 View Communications

1. Make sure it passes control to the View Communications Dialogue.

5.1.1.16 Launch Online Help

1. Make sure the Context-Sensitive Online Help system gets launched correctly.

5.1.1.17 Show About BOTSsim Dialogue

1. Make sure it shows the About BOTSsim Dialogue.

5.1.1.18 Exit BOTSsim

1. Make sure it exits BOTSsim.

5.1.2 TED Window

5.1.2.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.2.2 New Environment Template

1. Make sure that it loads the default Environment Template.

2. Make sure it asks you to save any changes before creating the new Template.

5.1.2.3 Open Environment Template

1. Make sure that it loads the correct Environment Template.

2. Make sure that invalid Environment Template are detected.

3. Make sure it asks you to save any changes before loading the existing Template.

5.1.2.4 Save Environment Template

1. Make sure that it saves the changes properly.

2. Make sure that it updates the Main Dialogue Status Bar correctly.

5.1.2.5 Change Properties

1. Make sure that it loads the appropriate properties dialogue for each object.

2. Make sure that it does not crash if no object is selected.

5.1.2.6 Destroy (Object)

1. Make sure that it destroys the selected object only.

2. Make sure that it does not crash if no object is selected.

5.1.2.7 Create Wall

1. Make sure it creates the Wall in the right position.

2. Make sure it creates no more than MAX_WALLS Walls.

5.1.2.8 Create Bin

1. Make sure it creates the Bin in the right position.

2. Make sure it creates no more than MAX_BINS Bins.

5.1.2.9 Create DA

1. Make sure it creates the DA in the right position.

2. Make sure it creates no more than MAX_DAS DAs.

5.1.2.10 Create Bot

1. Make sure it creates the Bot in the right position.

2. Make sure it creates no more than MAX_BOTS Bots.

5.1.2.11 Launch Online Help

1. Make sure the Context-Sensitive Online Help system gets launched correctly.

5.1.2.12 Show About BOTSsim Dialogue

1. Make sure it shows the About BOTSsim Dialogue.

5.1.2.13 Close TED Window

1. Make sure it asks you to save any changes before closing.

5.1.3 Change (Bot) Properties Dialogue

5.1.3.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.3.2 When Values Are Accepted

1. Make sure it updates the Bot start direction correctly.

2. Make sure it updates the Bot colour correctly.

5.1.4 Template Dimensions Dialogue

5.1.4.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.4.2 When Values Are Accepted

1. Make sure it creates an Environment Template of the correct Width and Height.

5.1.5 Run Information Dialogue

5.1.5.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.5.2 Open Run Information File

1. Make sure that the correct Run Information File gets opened.

2. Make sure that invalid Run Information Files are detected.

3. Make sure it asks you to save any changes before loading the Run Information File.

5.1.5.3 Save Run Information File

1. Make sure that it saves the changes properly.

2. Make sure that it updates the Main Dialogue Status Bar correctly.

5.1.5.4 Close Run Information Dialogue

1. Make sure it asks you to save any changes before closing the dialogue.

5.1.6 View Environment Dialogue

5.1.6.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.6.2 Environment Number Validation

1. Make sure that the Environment Number gets validated.

2. Make sure that the correct Environment gets displayed.

5.1.6.3 Cancel View Environment Dialogue

1. Make sure that the operation is definitely cancelled.

5.1.7 Environment Window

5.1.7.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.7.2 Animation

1. Check that Bots are displayed and animated correctly.

2. Check that Bot IDs are displayed correctly.

3. Check that Walls are displayed correctly.

4. Check that DAs are displayed and animated correctly.

5. Check that Bins are displayed and animated correctly.

6. Check that Blocks are displayed and animated correctly.

7. Check that zooming works correctly.

8. Check that scrolling works correctly.

9. Check that showing Bot Windows works correctly.

5.1.7.3 Close Environment Window

1. Make sure that the window is completely disposed of.

5.1.8 Show Bot By ID Dialogue

5.1.8.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.8.2 Bot ID Validation

1. Make sure that the Bot ID gets validated.

2. Make sure that the correct Bot gets displayed.

5.1.8.3 Cancel Show Bot By ID Dialogue

1. Make sure that the operation is definitely cancelled.

5.1.9 Bot Window

5.1.9.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.9.2 Bot Statistics Display

1. Check that the Hits are displayed.

2. Check that the Pickups are displayed.

3. Check that the Drops are displayed.

4. Check that the correct Environment Number is displayed.

5. Check that the Raw Fitness is formatted correctly.

5.1.9.3 Bot Sensor Display

1. Check that the Bot's Wall Sensors are updated correctly.

2. Check that the Bot's Bot Sensors are updated correctly.

3. Check that the Bot's Block Sensors are updated correctly.

4. Check that the Bot's Bin Sensors are updated correctly.

5. Check that the Bot is updated correctly when:- Not holding a block, Holding a block, Not holding a block and Colliding with another object, Holding a block and Colliding with another object.

5.1.9.4 Show Rule Set Facility

1. Check that the Rule Set is displayed in the correct format.

2. Check that the button changes to Hide Rule Set when the Rule Set is displayed.

3. Check that the button changes to Show Rule Set when the Rule Set is not displayed.

5.1.9.5 Show Environment Facility

1. Check that the correct Environment is displayed--should correspond with the Environment Number in the Bot's Statistics Display.

5.1.9.6 Close Bot Window

1. Make sure that the window is completely disposed of.

5.1.10 Histogram Window

5.1.10.1 Context-Sensitive Online Help

1. Make sure that the appropriate Help Topic gets displayed.

5.1.10.2 Update Histogram Facility

1. Make sure that the Histogram is properly updated.

5.1.10.3 Hits Histogram Tab

1. Make sure that the Hits Histogram is properly displayed.

5.1.10.4 Pickups Histogram Tab

1. Make sure that the Pickups Histogram is properly displayed.

5.1.10.5 Drops Histogram Tab

1. Make sure that the Drops Histogram is properly displayed.

5.1.10.6 Close Histogram Window

1. Make sure that the window is properly closed.

5.1.11 View Communications Dialogue

5.1.11.1 Incoming Messages

1. Make sure that only the most recently received 20 messages are displayed.

5.1.11.2 Outgoing Messages

1. Make sure that only the most recently sent 20 messages are displayed.

5.1.11.3 Close View Communications Dialogue

1. Make sure that the window is properly closed.

5.1.12 Context-Sensitive Online Help System

5.1.12.1 Check All Hyper Links

1. Make sure that every piece of text that is underlined and is green in colour goes to the correct Help Topic when clicked on by the user.

5.1.12.2 Contents Button

1. Make sure that the Contents button links to the Contents Help Topic.

5.1.12.3 Index Button

1. Make sure that the Index button displays the Index of all available Help Topics.

5.1.12.4 Back Button

1. Make sure that the Back button links to the previously accessed Help Topic.

5.1.12.5 Print Button

1. Make sure that the Print button prints the appropriate Help Topic.

5.1.12.6 << Button (Previous Help Topic)

1. Make sure that the << button links to the previous Help Topic.

5.1.12.7 >> Button (Next Help Topic)

1. Make sure that the >> button links to the next Help Topic.

5.1.13 Client Wish List Item 1

Test that the Bots achieve Client Wish List Item 1 correctly and consistently.

5.1.14 Client Wish List Item 2

Test that the Bots achieve Client Wish List Item 2 correctly and consistently.

5.1.15 Client Wish List Item 3

Test that the Bots achieve Client Wish List Item 3 correctly and consistently.

5.2 TEST RESULTS

Here are the Test Results that correspond to the test plan above.

5.2.1 Main Dialogue

5.2.1.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.1.2 New Run

1. The Status Bar is updated correctly every time.

2. The Title Bar is updated correctly every time.

3. The default Environment Template is loaded and is blank.

4. The default Run Information Variables are loaded correctly.

5. You cannot Start, Pause, Reset, View or Save a Run.

5.2.1.3 Open Run

1. The Status Bar is updated correctly every time.

2. The Title Bar is updated correctly every time.

3. The correct Environment Template is loaded.

4. The correct Run Information Variables are loaded.

5. You can Start a Run, but you cannot Pause, Reset, View or Save it.

6. Invalid Runs are detected and the user is informed about them.

5.2.1.4 Save Run

1. The Status Bar is updated correctly every time.

2. You cannot Start a Run, but you can Pause, Reset, View or Save it.

3. The Run is saved correctly every time (assuming there is no disk error).

5.2.1.5 Open Environment Template

1. The Status Bar is updated correctly every time.

2. The correct Environment Template is loaded.

3. Invalid Environment Templates are detected and the user is informed about them.

5.2.1.6 Edit Environment Templates

1. Control is passed to TED.

5.2.1.7 Edit Run Information Variables

1. Control is passed to the Run Information Dialogue.

5.2.1.8 Start Run

1. The Brain component is started correctly (check this in Windows NT Task Manager).

2. The Environment component is started correctly (because simulation is performed).

3. The Brain gets initialised correctly, we can trace all messages to and from the Brain.

4. The Progress Bar gets updated to zero, and incremented as the Run progresses.

5.2.1.9 Pause Run

1. The Brain component is paused--it receives no input, so it does no processing.

2. The Environment component is paused because animation stops.

3. The Title Bar is updated correctly every time.

4. The Progress Bar does not get updated, you can see it stop when pause is pressed.

5.2.1.10 Unpause Run

1. The Brain component is unpaused--it receives input, so it does processing.

2. The Environment component is unpaused--animation resumes.

3. The Title Bar is updated correctly every time.

4. The Progress Bar does get updated, you can see it resume when unpause is pressed.

5.2.1.11 Reset Run

1. The Brain component stops because it is sent a close message and terminated.

2. The Environment component stops because all animation and simulation ceases.

3. The Title Bar is updated correctly every time.

4. The Progress Bar does get zeroed out (it is fairly easy to see).

5.2.1.12 Show Environment Commands

1. The correct Environment does get displayed every time.

2. The Environment Number does get validated correctly. If an invalid Environment Number is entered a dialogue box pops up letting the user know what is wrong.

3. Multiple Environments can be displayed independently. We know this because animation and zooming occur independently (this can be seen on the screen). We also know that the Windows are destroyed properly because you can always have up to 10 Environment Windows open no matter how many of them you open and close.

5.2.1.13 Show Bot Commands

1. The correct Bot does get displayed.

2. The Bot ID does get validated correctly. If an invalid Environment Number is entered a dialogue box pops up letting the user know what is wrong.

3. The Bot Menu Rankings are correct. This was tested by comparing the fitnesses of individual Bots in the same population (view the Bot Window).

5.2.1.14 View Histogram

1. Control is passed to the Histogram Window.

5.2.1.15 View Communications

1. Control is passed to the View Communications Dialogue.

5.2.1.16 Launch Online Help

1. The Context-Sensitive Online Help System does get launched correctly.

5.2.1.17 Show About BOTSsim Dialogue

1. The About BOTSsim Dialogue is shown.

5.2.1.18 Exit BOTSsim

1. This obviously works. Try it for yourself, we did on many occasions.

5.2.2 TED Window

5.2.2.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.2.2 New Environment Template

1. The default Environment Template is loaded (a blank one).

2. You are asked to save any changes before creating the new Template.

5.2.2.3 Open Environment Template

1. The correct Environment Template is loaded.

2. Invalid Environment Templates are detected and the user is informed about them.

3. You are asked to save any changes before loading an existing Template.

5.2.2.4 Save Environment Template

1. The Environment Template is saved correctly.

2. The Main Dialogue Status Bar is updated correctly.

5.2.2.5 Change Properties

1. The appropriate properties dialogue for each object is loaded. The Bot Properties Dialogue for Bots and the Change Colour Dialogue for any other object.

2. Nothing happens if there is no object selected.

5.2.2.6 Destroy (Object)

1. Only the selected object is destroyed.

2. Nothing happens if there is no object selected.

5.2.2.7 Create Wall

1. The Wall is created in the position that the user wants.

2. You can create as many Walls as you like (within reason).

5.2.2.8 Create Bin

1. The Bin is created in the position that the user wants.

2. The user is informed if they try to create too many Bins.

5.2.2.9 Create DA

1. The DA is created in the position that the user wants.

2. The user is informed if they try to create too many DAs.

5.2.2.10 Create Bot

1. The Bot is created in the position that the user wants.

2. The user is informed if they try to create too many Bots.

5.2.2.11 Launch Online Help

1. The Context-Sensitive Online Help System does get launched correctly.

5.2.2.12 Show About BOTSsim Dialogue

1. The About BOTSsim Dialogue is shown.

5.2.2.13 Close TED Window

1. You are asked to save any changes before closing the window.

5.2.3 Change (Bot) Properties Dialogue

5.2.3.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.3.2 When Values Are Accepted

1. The Bot start direction is updated correctly.

2. The Bot colour is updated correctly. You must de-select the Bot to see this.

5.2.4 Template Dimensions Dialogue

5.2.4.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.4.2 When Values Are Accepted

1. An Environment Template of the correct Width and Height is created.

5.2.5 Run Information Dialogue

5.2.5.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.5.2 Open Run Information File

1. The correct Run Information File is opened.

2. Invalid Run Information Files are detected and the user is informed about them.

3. You are asked to save any changes before loading an existing Run Information File..

5.2.5.3 Save Run Information File

1. All changes are saved properly.

2. The Main Dialogue Status Bar is updated correctly.

5.2.5.4 Close Run Information Dialogue

1. You are asked to save any changes before closing the dialogue.

5.2.6 View Environment Dialogue

5.2.6.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.6.2 Environment Number Validation

1. The Environment Number gets validated. If it is invalid then a message is displayed

2. The correct Environment gets displayed, this is obvious from the Environment Number shown in the Window Title.

5.2.6.3 Cancel View Environment Dialogue

1. The operation is cancelled and nothing happens.

5.2.7 Environment Window

5.2.7.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.7.2 Animation

1. Bots are displayed and animated correctly.

2. Bot IDs are displayed correctly.

3. Walls are displayed correctly.

4. DAs are displayed and animated correctly.

5. Bins are displayed and animated correctly.

6. Blocks are displayed and animated correctly.

7. Zooming works correctly, even if it isn't intuitive.

8. Scrolling does not work correctly. We spent a lot of time on this and still could not figure out exactly what was wrong. Now that I think about it I do know what's wrong--the scroll bar dimensions are not updated when the zoom factor is changed.

9. Showing Bot Windows works correctly, this is done by right clicking on the Bot.

5.2.7.3 Close Environment Window

1. The Environment Window is completely disposed of.

5.2.8 Show Bot By ID Dialogue

5.2.8.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.8.2 Bot ID Validation

1. The Bot ID gets validated. If it is invalid then an error message is displayed

2. The correct Bot gets displayed, this is obvious from the Bot ID in the Window Title.

5.2.8.3 Cancel Show Bot By ID Dialogue

1. The operation is cancelled and nothing happens.

5.2.9 Bot Window

5.2.9.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.9.2 Bot Statistics Display

1. The Hits are displayed correctly--all values correlate with the Hits Histogram.

2. The Pickups are displayed correctly--all values correlate with the Pickups Histogram.

3. The Drops are displayed correctly--all values correlate with the Drops Histogram.

4. The correct Environment Number is displayed correctly, this is proven by clicking the Show Environment button and checking if that Bot is shown in that Environment.

5. The Raw Fitness is not formatted correctly sometimes the number becomes too long.

5.2.9.3 Bot Sensor Display

1. The Bot's Wall Sensors are updated correctly--this is checked by viewing the Environment Window that that Bot is operating in.

2. The Bot's Bot Sensors are updated correctly--this is checked by viewing the Environment Window that that Bot is operating in.

3. The Bot's Block Sensors are updated correctly--this is checked by viewing the Environment Window that that Bot is operating in.

4. The Bot's Bin Sensors are updated correctly--this is checked by viewing the Environment Window that that Bot is operating in.

5. The Bot is updated correctly when:- Not holding a block, Holding a block, Not holding a block and Colliding with another object, Holding a block and Colliding with another object. Again this is also checked by viewing the Environment Window that that Bot is operating in and seeing if it has a block or is involved in a collision.

5.2.9.4 Show Rule Set Facility

1. The Rule Set is displayed in the correct format.

2. The button caption changes to Hide Rule Set when the Rule Set is displayed.

3. The button caption changes to Show Rule Set when the Rule Set is not displayed.

5.2.9.5 Show Environment Facility

1. The correct Environment is displayed. We know this because the Environment Number in the new Environment Window is the same as the one in the Bot Window.

5.2.9.6 Close Bot Window

1. The Bot Window is closed properly

5.2.10 Histogram Window

5.2.10.1 Context-Sensitive Online Help

1. The appropriate Help Topic does get displayed.

5.2.10.2 Update Histogram Facility

1. The Histogram is properly updated. This can be observed by comparing the Histogram results with the appropriate values for all of the Bots. We have done this for reasonably large populations and gave up about one tenth of the way through when we knew that it was most probably correct. This assumption was based on the fact that it always worked correctly for small populations of between 10 and 20.

5.2.10.3 Hits Histogram Tab

1. The Hits Histogram is properly displayed. The proof for this is similar to the proof for the Update Histogram Facility.

5.2.10.4 Pickups Histogram Tab

1. The Pickups Histogram is properly displayed. The proof for this is similar to the proof for the Update Histogram Facility.

5.2.10.5 Drops Histogram Tab

1. The Drops Histogram is properly displayed. The proof for this is similar to the proof for the Update Histogram Facility.

5.2.10.6 Close Histogram Window

1. The Histogram Window is properly closed.

5.2.11 View Communications Dialogue

5.2.11.1 Incoming Messages

1. Only the most recently received 20 messages are displayed. That is when the DEBUG flag is turned on. You will not be able to see this as the version you receive will be the release version and not the debug version.

5.2.11.2 Outgoing Messages

1. Only the most recently sent 20 messages are displayed. That is when the DEBUG flag is turned on. You will not be able to see this as the version you receive will be the release version and not the debug version.

5.2.11.3 Close View Communications Dialogue

1. The View Communications Dialogue is properly closed.

5.2.12 Context-Sensitive Online Help System

5.2.12.1 Check All Hyper Links

1. It took a hell of a long time but I am 95% sure that all of the Hyper Links work correctly. As it is a reasonably complex Help System I cannot be completely sure but a am 95% sure. The Context-Sensitive links do work, I am 100% sure of this fact.

5.2.12.2 Contents Button

1. The Contents button does in fact link to the Contents Help Topic.

5.2.12.3 Index Button

1. The Index button does display an Index of all available Help Topics.

5.2.12.4 Back Button

1. The Back button does link to the previously accessed Help Topic. The Back button is disabled when you are looking at your first topic and have not followed any Hyper Links.

5.2.12.5 Print Button

1. The Print button should print the appropriate Help Topic if printing is configured properly. You are presented with the standard Print Dialogue in all cases anyway.

5.2.12.6 << Button (Previous Help Topic)

1. The << button links to the previous logical Help Topic. This was easy to prove.

5.2.12.7 >> Button (Next Help Topic)

1. The >> button links to the next logical Help Topic. This was easy to prove.

5.2.13 Client Wish List Item 1

Test that the Bots achieve Client Wish List Item 1 correctly and consistently...

5.2.14 Client Wish List Item 2

Test that the Bots achieve Client Wish List Item 2 correctly and consistently...


The Bot Moving 1

5.2.15 Client Wish List Item 3

Test that the Bots achieve Client Wish List Item 3 correctly and consistently...

This has not been achieved. However, an attempt to do this has been mirroring, described in full in section 3.3 on page 13 of this document.

The problem is that mirroring doesn't have the desired effect. The Rule Set is mirrored properly, this can be seen by looking at the Rule Set of the 1 Bot left. The major problem is that Bots don't take a symmetric approach to getting a block and placing it in a bin.

5.2.15.1 Rule Set before mirroring

(BlockLeft (WallLeft (WallLeft (BlockRight (BinCollide DropBlock TurnRight ) (BlockCollide GetBlock GoBackward ) ) (BotForward (BotForward NoOp GetBlock ) (WallLeft NoOp (BotLeft GoBackward NoOp ) ) ) ) (BotForward (BotRight (BinCollide DropBlock TurnRight ) (BlockCollide (BotRight TurnLeft NoOp ) (BlockCollide GetBlock GoBackward ) ) ) (BotForward (BlockForward (WallBackward TurnLeft TurnLeft ) (HasBlock (BotForward NoOp TurnLeft ) (BinCollide DropBlock TurnRight ) ) ) (BinCollide (WallBackward TurnLeft TurnLeft ) TurnRight ) ) ) ) (BlockCollide GetBlock GoBackward ) )

5.2.15.2 Rule Set after Mirroring

(HasBlock (BinLeft (WallLeft (WallLeft (BinLeft NoOp (BinCollide (BotForward (BlockBackward (WallLeft TurnLeft NoOp ) (BlockCollide DropBlock GoBackward ) ) (BinCollide (BlockBackward (WallLeft GetBlock NoOp ) (WallBackward TurnLeft TurnLeft ) ) TurnRight ) ) TurnRight ) ) (BinCollide (BinCollide (BlockCollide DropBlock GoBackward ) TurnRight ) TurnRight ) ) (BinCollide GoForward TurnRight ) ) (BlockCollide DropBlock GoBackward ) ) (BlockLeft (WallLeft (WallLeft (BlockLeft NoOp (BinCollide (BotForward (BinBackward (WallLeft TurnLeft NoOp ) (BlockCollide GetBlock GoBackward ) ) (BinCollide (BinBackward (WallLeft DropBlock NoOp ) (WallBackward TurnLeft TurnLeft ) ) TurnRight ) ) TurnRight ) ) (BinCollide (BinCollide (BlockCollide GetBlock GoBackward ) TurnRight ) TurnRight ) ) (BinCollide GoForward TurnRight ) ) (BlockCollide GetBlock GoBackward ) ) )

5.2.16 Test Selection

Selection was tested by seeding the Brain. This testing has not been documented because to produce the results we would have to redo the testing that we did early this semester. That would take a very long time to do and would not be the same testing. We can say that Selection does work correctly.

5.2.17 Test Different Fitness Functions

These cannot be shown unless we change the source files and recompile. The results of testing the fitness functions are shown in the fitness table. See section 3.2 on page 11 of this document for more information about fitness functions.


<< , >> , Title , Contents , Index