No project description provided
Project description
cg_feedback_helpers
This package provides functionality to provide feedback messages. It
mainly provides the class Asserter
. The Asserter
has a number of
methods that are documented on the official
docs, which allow
to run assertions. Each assertion can provide either positive or negative
feedback. A few helpers are also provided to aid with input and output
coupled when running assertions. At the end of a run, call
Asserter::emit_success
to guarantee the user receives some feedback
if everything was correct.
The package outputs feedback in the following format:
{
"tag": "feedback",
"contents": [
{
"value": <your feedback message>,
"sentiment": <"positive" | "negative">
},
]
}
Usage:
The following example shows how the asserter can be used to check that
the function greet_user
responds with the correct output to a user
input.
from cg_feedback_helpers import asserter, helpers
def greet_user():
name = input()
print(f"Hi {name}")
with helpers.capture_output() as buffer, helpers.as_stdin("John"):
greet_user()
output = helpers.get_lines_from_buffer(buffer)
asserter.has_length(output, 1)
asserter.equals(output[0], "John")
asserter.emit_success()
The output of which will be:
{"tag":"feedback","contents":[{"value":"Got expected length 1","sentiment":"positive"}]}
{"tag":"feedback","contents":[{"value":"Got expected value Hi John","sentiment":"positive"}]}
{"tag":"feedback","contents":[{"value":"Everything was correct! Good job!","sentiment":"positive"}]}
Module contains:
Asserter
class, of which the default messages produced can be configured, as well as its failure behavior (either using exceptions orsys.exit
);helpers
to make it easier to work with input/output tests.
Limitation:
The module currently does not support markdown feedback, nor the
neutral
sentiment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cg_feedback_helpers-2024.2.26.1339.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2d4e69aa30f6d364f593f57fb0f1483729db7f5df7bfd4a73604818afb2c04c |
|
MD5 | 9a9b0938dfe34a2279d0e06267cb71a8 |
|
BLAKE2b-256 | 9e116501d3eb13c88a26204e6513a338ea954a392c75283dd7dd72d6414569b2 |
Hashes for cg_feedback_helpers-2024.2.26.1339-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66cf57e4d804d2ba26ee46ac0f97db421b3301f40f0c323702bbd6e73b3ee0b7 |
|
MD5 | 09b0d8a4dfadf39ffc53671c5f6b6991 |
|
BLAKE2b-256 | 8d070b502e74212d0cc6085c055f7f542bd52b06330082a8ac2d184a796b3b86 |