Skip to main content

Very simple testing framework suitable for beginner programmers, with easy functions for accomplishing most common testing tasks like providing input. Requires Python 3.8+.

Project description

optimism

A very small & simple unit-testing framework designed to provide all the basic necessities to beginner programmers as simply as possible.

Designed by Peter Mawhorter.

Dependencies

Works on Python versions 3.7 and up, with 3.9+ recommended.

Installing

To install from PyPI, run the following command on the command-line:

python3 -m pip install optimism

Once it's installed, you can run the tests using:

pytest --doctest-modules optimism.py
pytest test_examples.py

Usage

Use the testFunction, testFunctionMaybe, testFile, testBlock, and/or testThisNotebookCell functions to establish test managers for specific pieces of code. Then use those managers' checkCodeContains methods to check for the presence/absence of certain code constructs (see the ASTRequirement class) or use the case method to establish a test case w/ specific inputs (one manager can support multiple derived cases w/ different inputs). Finally, use methods of a test case like checkResult or checkPrintedLines to check for specific behavior.

See the documentation for more details on how to use it and what each function does.

Changelog

See the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optimism-3.1.3.tar.gz (109.4 kB view details)

Uploaded Source

Built Distribution

optimism-3.1.3-py3-none-any.whl (115.5 kB view details)

Uploaded Python 3

File details

Details for the file optimism-3.1.3.tar.gz.

File metadata

  • Download URL: optimism-3.1.3.tar.gz
  • Upload date:
  • Size: 109.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for optimism-3.1.3.tar.gz
Algorithm Hash digest
SHA256 a3d2475547bd89e40158bda1d12ee1138e985ade30d37d3cbb97f25aeb78f38e
MD5 12fe8f870bcf236bbf07c373a9f851dc
BLAKE2b-256 afeb2d107f430d47631622f38ef0e984815dd44ca5feb77d0f20635043ee9983

See more details on using hashes here.

File details

Details for the file optimism-3.1.3-py3-none-any.whl.

File metadata

  • Download URL: optimism-3.1.3-py3-none-any.whl
  • Upload date:
  • Size: 115.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for optimism-3.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cd41d059a0c96837320577611c623e0ce65bca903df859cb4a749179056f5558
MD5 e2ec9065980eaa8624a68a727f03f55d
BLAKE2b-256 71d99b5301ed69ca3a4cdc4c361c3e40033f74786fd7ac091260cae3ef416628

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page