Each part of your project will be subjected to a variety of
tests with points assigned based on the importance of the
structure to the project, and the relative difficulty of
producing working code. Note that we will do our best to assure
partial credit where possible by decoupling independent tests.
Evaluation of your project may include, but is not limited to, the
following testing procedures:
- Basic I/O: when the structure is deterministic, the test outputs are processed using a
a special ``XML diff'' that parses your
output into a DOC (just
like your program does) and then compares it with a valid output.
Thus,
you can put whitespace wherever you want it, and order attributes
within tags
however you like. However, your output MUST be syntactically valid
XML. IF
WE CANNOT PARSE YOUR OUTPUT, THEN IT WILL FAIL THE TEST IMMEDIATELY.
- Rule-Based: when multiple correct answers, we will use
code-based verification that your results satisfy the
required properties.
- Interface: when you are required to implement an interface, we
will use our test drivers to execute your code. (Not for Part 1)
- Stress and Timing: used to verify that your algorithms meet the
required asymptotic complexity bounds.
MM Hugue
2019-01-27