Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

expecting

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

expecting

Elegant assertions library

  • 0.0.2
  • PyPI
  • Socket score

Maintainers
1

expecting

Elegant assertions library.

This is currently a work in progress.

Installation options

pip install expecting
poetry add expecting --group dev

Usage

Expecting consists of a set of assertion objects that can be used with assert statements in a clear, readable way. Most common assertion will be covered under a structured set of modules, following an intuitive naming schema:

import expecting

assert '2023-10-11' == expecting.string.datetime.iso8601_day()

Here, the expcting.string.datetime module introduces a handful of factory methods for asserting that the value is a string representing a date and time format.

It's specially useful with pytest and its amazing error messages, where an assertion failure message would look something like:

string/test_datetime.py:7 (test_iso8601_full_matches[2023/10/11 13:01:10])
'2023/10/11 13:01:10' != ~= <datetime as "%Y-%m-%dT%H:%M:%S.%f%z">

Expected :~= <datetime as "%Y-%m-%dT%H:%M:%S.%f%z">
Actual   :'2023/10/11 13:01:10'
<Click to see difference>

datetime_str = '2023/10/11 13:01:10'

    @pytest.mark.parametrize(
        'datetime_str',
        (
            '2023/10/11 13:01:10',
        )
    )
    def test_iso8601_full_matches(datetime_str: str):
>       assert datetime_str == expecting.string.datetime.iso8601_full()
E       assert '2023/10/11 13:01:10' == ~= <datetime as "%Y-%m-%dT%H:%M:%S.%f%z">
...

The ~= symbol prefixing the expected value is used denote this value is an "expecting object".

Contributing

Feel free to create issues or merge requests with any improvement or fix you might find useful.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc