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.11+.

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.1.tar.gz (108.1 kB view details)

Uploaded Source

Built Distribution

optimism-3.1.1-py3-none-any.whl (114.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: optimism-3.1.1.tar.gz
  • Upload date:
  • Size: 108.1 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.1.tar.gz
Algorithm Hash digest
SHA256 40e02103d8cdc9e9e91438e441dfd1d360188dedd9d17801038c4a72d12ff4f0
MD5 95af9e8a08f30bc3af268792b88bdc8b
BLAKE2b-256 36bd282c60fcc2441c8b5d87cb5add52ea0dfdbc89e1a08f82eeca8114ac2c80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optimism-3.1.1-py3-none-any.whl
  • Upload date:
  • Size: 114.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffebccee916731a0ff5fcf400b883775b60af7101729efec1c568f8d6a028800
MD5 6b32f19e1305fac4b47d68c75a7597da
BLAKE2b-256 7ffe5f381b2a5eb788b0907e85a401389d371107f14bbf0305c8c69d3efb3432

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