Skip to content

Latest commit

 

History

History
101 lines (81 loc) · 20.4 KB

testing_plan.md

File metadata and controls

101 lines (81 loc) · 20.4 KB

Testing Document

Unit tests

Unit testing is done with JUnit, with reports from Jacoco. Interfaces are used for dependency injection testing needed to cover methods that utilise random numbers, as well as with few void methods that mainly call other methods.

Tests can be run with command

mvn test jacoco:report

and the report is found at /target/site/jacoco/index.html.

The final test coverage, with non-essential files (Main, TestRoomBuilder, TestMazeBuilder, TestDoorBuilder) excluded. FINAL TEST COVERAGE

Final report with Main included. Main included

Tests in the final JAR includes Main.java.

System testing

Final map is tested with a crawler that runs on a depth-first search, and seeks to access all non-wall squares (value > 1) on the map. Crawler is run based on parameters, and outputs true or false after the test to indicate whether the corridors and rooms all connect or not.

EXAMPLE: Crawler checking this final map.

████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
████████████████████                                  ██   ████   █████████   ████    ██    █   ██               ██    █   ███████████████████████████████   ██████████    █████████
████████████████████ ████████+██ █+███████████+██████    █ █  █ █ █████████ █   ██ ██ ██ ██   █ █  █████████████ ██ ██ █ █ █████   ███████████████████     █   ███████  ██ █████████
████████████████████  █        █ +    ██            █████  +  █ █    ████   ███  █ ██    █████  █ ███     ██████ ██ ██   █   ██  █ ███████████████████ █████ █         ███   ███████
█████████████████████ █        ███    ██            ████  ██  █ ████   ██ ██████   █████████   ██   █     ██████  █ ████████ ██ ██  █            ███   ██    ███████████████  ██████
█████████████████████ █        █████████            ███  █ +  █ ██████ ██ ███████████████    ███  █ +     ███████ █  ███████    ███ █            ███ ████+███████     ███████ ██████
██  +              █  █        █████████            █   ██ █  █ █████  █  ███████████████ ███    ████     ██████  ██  ████████+██   █            ███ ████      ██     ███████ ██████
█  ██              █ ██        █████████            █ ████ █  █ █████ ██ ████████████   + ███ ███████     ██████ ████ ███      █  ███            █   ████      ██     ███████  █████
█ ███              █ ██        █████████            +      █  █ █████    ████████████   +   █ ██████████████████      ███      █ ████            █ ██████      ██++███████████  ████
█   █              █  █        █████████            ██████ █  █  ██████████        ██   ███   █████   ███    ████████████      █    █            █   ████      ██   ███████████ ████
███ █              ██ █        █████████            ██████ █████    ███████        ████████████████ █ ███ ██   █   ████████████████ █            █ █ ████      █  █ █         █ ████
█   █              █  █        █████████            ██████ █   ████ ███████        ███    █████████ █   █ ████ █ █ ██  ████   █     █            █ █  ███      █ ██ █         █  ███
█ ███              █ ██████████████   ██            ██████   █  ███ ███████        ██  ██ █████████  ██      █   █ ██  █    █   █████            + ██   █      █ ██ ██+█████████ ███
█ ███              █ ██    █     ██   ██            ███████████  ██ █████████+██+████ ███ █       ██ ███████  ████  █  █ █████████████████████████ ████ +      █  █    █   █████   █
█  █████████████████    ██   ███ ██   ████████████████████     █ ██ ████████      ██  ███ █       ██ ████████  ████ █  █ █████████████████   █     ███  █      ██ ████ █ █+███████ █
██  ███████████████████████ ███  ██   ██████████████████   ███      ████     ████    █    ██+███████  █    + █   █  █  █ █████████████     █ █ ███████ ██      █    ██   █       █ █
███ ████████████████████    ██  ███   █████    █████████ █████████████   ██████   ████+█████   ██████ █    █ ███ █ ██  █  ████████████ ████  █      █  █████████ ██  █████       █ █
███ ██████████         █ █████ ████   +  ██    █████████   █      ███  ████████ ███       ██ █     ██ █    █ ███ █  █  ██   ███     ██  ███ ███████ █ ██████████   █     █       █ █
███ ██████████         █ █████    █   ██ ██    ███████████ █      ███ ███     + ███       ██  ████ ██ ██████     ██ █  ████     ███ ███  ██  █    █ █ ███   ██████+█████ █████████ █
███   ████████         █ ████████ █   █  ██    ███████████ █      █   ███     █████       ███+███  ██ █████████████ +  ████████████ ████ ███ █ ██ █ █  █  █ ███     ██   ██████    █
█████ ██    ██         █ ███████  █   █ ███    +  ███████  █      █ ███████████████       ██    █ ███ ███         █ +  ██      + █  ███  ███ █  █   ██   ██  ██     ██ ████████ ████
█████ ██    ██         █ ██    █ ██   █ █████████      █  ██      █ █   ███████████       ██    █     ███         █ █  ██      █   ████+████  █ ████████████ ██     █  ███    █ ████
█████ ██    ██         █  █    █  █   █  ██       ████   ███████+██   █ ████████████████████    █████████         █ █████      █ ███    █████   █          █ ██     █ ███  ██ █ ████
████  ██    ██         ██ █    ██ █   ██    █████████████████    █████  ████████   ██   ████    █   █████         █  ████      █ ███    █████████          █  █     █ ██  ███   ████
████ ███    ██         █  █    ██ █   ███++██              ██ ████  █  ███████   █    █  ███    █ █  ████         ██  ███      █  ██    ██     ██          ██ █     █ █  ███████████
██   ███    ██         █ ██    █  █   ███  ██              ██    +  █ █     ██ █████████   █    █ ██ ████         ███   █      ██ ███████  ███  █          █  █     █ █ █████ +  ███
█  ██████+████         █ ██    █ ████████  ██              █████ █  █ █ ███         ██████ █    █  █ ████         █████ █      ██         █████ █          + ██     █ █  ████ █  ███
█ ███████ ████         █ ██    █    █████  ██              █████ █  █   ███████████+██████ █    ██ █  ███         ██    █      ███████████████  █          █  █     █ ██ █    ██████
█     ███   ████████+███ ██    ████  ████  ██              ██  █ █  ███  ██             ██ █    █   █   █████████+██ ██ █      ██          █   ██          ██ █     █ ██ █ ██   ████
█████ █████              ██    +  ██  ███  ██              ██  █ █  ████  █             █  █    █ █  ██ █   ███████  ██ █      ██          █ ████          ██ █     █      ████  ███
█████ ██    ███████████+███    ██ ███ ███  ██              ██  █ █  █████ █             █ ██    █ ██ ██   █  █████  ███ █      ██          █    █          █  █     ████████████  ██
█████    █████           ██    ██  █  ███  ██              ██  + █  ████  █             █ ██    █ █  ███████   █   ███  █      ██          ████ █          █ ██     ████      ███  █
██████████████           ██    ███   ████  ██              ██  █ ███████ ██             █  █    █ █ █   ██████   █████ ██      ██          ████ █          █ ███████████      ████ █
████████    ██           ████████████████  ██              ██  █ █   ██  ██             ██ ██████ █ █ █ ███   ███████  ██      ██          ██   █          █   █████████      ███  █
████████    ██           ████████      ██  ██████████████+██████ █ █  █ ███             ██     ██ █ █ █     █   █████ ███████████          ██ ██████+█████████  ███   ██      +   ██
████████    ██           ████████      ██  ██       █   █   ████   ██ █   █             ██████    █   █████████ █████+███████████          ██ █████  ██████████ ███ █  █      █ ████
████████    ██           █████████████+██████ █ ███ █ █  ██ ███  ████  ██ █             █████████████████   ██  ██           ████          ██  ████ ██        █     ██ █      █  ███
████████    ██           +██+█████████ ██     █ ███ █ ██    ███ ██████  █ █             █████  ██████████   ██ ███           ████          ███ ███   █        █████+██ █      ██   █
████████    ██           ███    ██████    █████ ███   ███████   ██   ██   █             +   █  █      ███   ██   ██████████████ +          ██  ██  █ █        █████  █ █      ████ █
████████    ██           ███    ██████████   █  █████████████ ████   ███ ██             ███ █++█ ████   █   █  █ ███████████    █          ██ █   ██ █        █████  █ ███████████ █
████████    ██           ███    █████      █   ████████████   ████   ██  ██             ███    █ ██████ █   █ ██  ███████    ███████████+████   ██   █        █████  █ ███████████ █
████████    ██           ███    ████  █████████████████████ ██████   ██ ███             ██████ █    ███ █   █ ███   ████  ██████         █████████ ███        █████  █ █         █ █
████████    ████████████████    ███  █ +        ██        █ ████ +   ██  █████████████████████ ████ ███ █   █  ████    █ ████    █████████████   █   +        █████  + █         █ █
████████    + ███   █   ████    ███ ██ █        ██        █   ██ █   ███ █████████████████████      ██  █   ██ ███████   ████ █ █   █     ████ █ ██ ██        █████  █ █████+█████ █
████████    █ ███ █ █ █ ██████████     ████████+██        ███  █ █   ███ ██████    █████████████████   ██   ██   ██████████   █   █   ███  █   █ ██  █████████████████   ███   ███ █
████████    █ ██  █   █  ███       ███████      ██        ████   █   █   █████  ██    ██████   █   █ ████   █  █    ███████ ██████████████   ███ ███ ███       █   █████ █████ █   █
█████████████ █  ███████ ███ █ █████   ██  ██ ████        ██████ █   █ ██████  ██████ ██████ █   █   ████   + █████  ████   █            █ █████   █  ██ █████   █   ███ █████ █ ███
█████████████   ████████   █ █ █████ █ ██ ███   ████++█████    █ █   █  ███   ███████ ██   █ ████████████   ████████ ██   ███            + ███████  █ █  ███████████     █████ █ ███
██████████████████████████   █       █    █████             ██   ██████     █████████    █   ███████████████████████    ███████████████████████████     ██████████████████████   ███
████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
false
Validity check took: 4ms.

See large room in the lower left corner, and the smaller, tall room right to it. Larger room has a 'ghost door', and the smaller one is not connected to the main network at all. The crawler noticed this and reported false, indicating the map is not valid. See Implementation Doc for details of the bug causing this. Main point here is that the crawler does work

Previous test repots

Test coverage on week 5

Test coverage on week five.

Test coverage on week 4

Test coverage on week four.

Test coverage on week 3

Test coverage on week three.

Test coverage on week 2

Test coverage on week two.