Skip to main content

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 or sys.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


Download files

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

Source Distribution

cg_feedback_helpers-1!1.0.1.tar.gz (12.4 kB view hashes)

Uploaded Source

Built Distribution

cg_feedback_helpers-1!1.0.1-py3-none-any.whl (14.1 kB view hashes)

Uploaded Python 3

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