### MathML Test Suite

This is the official MathML 2.0 test suite. It's purpose is to help developers build accurate, interoperable MathML implementations, and to help users make objective judgements about software.

The test suite organization is based closely on the MathML 2.0 Specification. Generally speaking, subfolders of tests correspond to subsections of the specification. There is at least one test for each MathML 2.0 element except `maction`, whose implementation is vendor-specific. The test suite includes almost all the examples given in chapters 3 and 4 of the specification, but it contains many additional tests as well.

There are also tests for all presentation element attributes and almost all content element attributes. In many places in the suite, there are tests that try to illustrate the interaction between combinations of attributes, but obviously there are far too many possible combintations to go to far in this direction.

Finally, there are character entity test files, which consist of 26 large tables of MathML characters, running through all the MathML entity names by letter.

Although the objectives of systematic testing and illustrating good MathML style are often at odds, the suite includes a mix of tests using common mathematical expressions in good style as well as artificially contrived tests. Though some of the examples are moderately complex, one area the test suite does not yet cover are so-called "torture tests" -- for example enormously large matrices, long linebreaking examples, etc. These tests are often very useful for making practical decisions about software systems, and some may be added in the future.

Questions, comments, and bug reports about the MathML Test Suite should be directed to the www-math@w3.org mailing list.