arjuna.tpi.engine.asserter module

class arjuna.tpi.engine.asserter.Asserter

Bases: object

Arjuna’s asserter class.

It can be used directly. It is already included as an attribute for request fixture in test functions and all Guis and Gui Templates.

assert_and(*objects, msg)

Assert that ALL of the provided objects are True (as per Python’s boolean evaluation)

Parameters
  • objects – One or more arbitraty objects

  • msg – A context string explaining why this assertion was done.

assert_approx_equal(obj1, obj2, msg, places=None, delta=None)

Assert round(obj1-obj2, places) == 0 if places is supplied

Assert round(obj1-obj2, places) == delta if delta is supplied

Wrapper on unittest’s assertAlmostEqual

Parameters
  • obj1 – Object of any type which supports == operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

  • places – Number of decimal places used for rounding

  • delta – The difference between objects after rounding (diff <= delta for passing assertion)

Note

You can specify either places or delta not both.

Note

This method rounds the values to the given number of decimal places (i.e. like the Python’s round() function) and not significant digits.

assert_approx_not_equal(obj1, obj2, msg, places=7, delta=None)

Assert round(obj1-obj2, places) != 0 if places is supplied

Assert round(obj1-obj2, places) > delta if delta is supplied

Wrapper on unittest’s assertNotAlmostEqual

Parameters
  • obj1 – Object of any type which supports == operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

  • places – Number of decimal places used for rounding

  • delta – The allowed difference between objects after rounding (diff >= delta for passing assertion)

Note

You can specify either places or delta not both.

Note

This method rounds the values to the given number of decimal places (i.e. like the Python’s round() function) and not significant digits.

assert_equal(obj1, obj2, msg)

Assert obj1 == obj2

Wrapper on unittest’s assertEqual

Parameters
  • obj1 – Object of any type which supports == operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_exceptions(exceptions, callable=None, *cargs, regex=None, **ckwargs)

Asserts that one of the provided exceptions is raised when the provided callable (or ) is called with provided arguments.

Parameters
  • exceptions – One or more Exception classes provided as tuple. A single Exception can be directly provided.

  • callable – The callable to be called.

  • cargs – Positional arguments to be passed to callable

Keyword Arguments
  • regex – Regular expression to match the string representation of the Exception. Can be a string or a regular expression object that can be used with Python’s re.search() call.

  • ckwargs – Keyword arguments to be passed to callable

Note

You can use this method to create a context manager by not providing the callable.

This means you can write the code to be asserted for directly inline:

with asserter.assert_exceptions(SomeException):
    do_something()

If you want to futher put assertions on the the actual exception raised, you can use context manager’s exception attribute:

with asserter.assert_exceptions(SomeException) as cm:
    do_something()

asserter.assert_equal(cm.exception.error_code, 3)
assert_false(obj, msg)

Assert obj is False.

Wrapper on unittest’s assertFalse

Parameters
  • obj – Object of any type

  • msg – A context string explaining why this assertion was done.

assert_greater(obj1, obj2, msg)

Assert obj1 > obj2

Wrapper on unittest’s assertLess

Parameters
  • obj1 – Object of any type which supports > operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_lesser(obj1, obj2, msg)

Assert obj1 < obj2

Wrapper on unittest’s assertLess

Parameters
  • obj1 – Object of any type which supports < operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_max(obj, max_value, msg)

Asserts a maximum value for an object i.e. obj <= max_value

Wrapper on unittest’s assertLessEqual

Parameters
  • obj – Object of any type which supports <= operator for min_value

  • max_value – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_min(obj, min_value, msg)

Asserts a minimum value for an object i.e. obj >= min_value

Wrapper on unittest’s assertGreaterEqual

Parameters
  • obj – Object of any type which supports >= operator for min_value

  • min_value – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_not_equal(obj1, obj2, msg)

Assert obj1 != obj2

Wrapper on unittest’s assertNotEqual

Parameters
  • obj1 – Object of any type which supports != operator for obj2 type

  • obj2 – Object meeting the above constraint

  • msg – A context string explaining why this assertion was done.

assert_or(*objects, msg)

Assert atleast one of the provided objects is True (as per Python’s boolean evaluation)

Parameters
  • objects – One or more arbitraty objects

  • msg – A context string explaining why this assertion was done.

assert_true(obj, msg)

Assert obj is True.

Wrapper on unittest’s assertTrue

Parameters
  • obj – Object of any type

  • msg – A context string explaining why this assertion was done.

fail(msg)

Raises AssertionError with the provided message.

Parameters

msg – A context string explaining the failure.

class arjuna.tpi.engine.asserter.AsserterMixIn

Bases: object

Base class to add asserter property to any class which inherits from it.

property asserter: arjuna.tpi.engine.asserter.Asserter

Arjuna’s Asserter object for executing assertions.

class arjuna.tpi.engine.asserter.IterableAsserterMixin

Bases: object

Base class for adding assertions to iterables.

Note

Use it in combination with AsserterMixIn. The child class should have _container as its attribute or property.

assert_empty(*, msg)

Assert that there should not be any object in this iterable.

Keyword Arguments

msg – Purpose of this assertion.

assert_max_size(size, *, msg)

Assert that the number of objects in this iterable <= provided size.

Parameters

size – Expected maximum number of objects.

Keyword Arguments

msg – Purpose of this assertion.

assert_min_size(size, *, msg)

Assert that the number of objects in this iterable >= provided size.

Parameters

size – Expected minimum number of objects.

Keyword Arguments

msg – Purpose of this assertion.

assert_not_empty(*, msg)

Assert that there should be atleast one object in this iterable.

Keyword Arguments

msg – Purpose of this assertion.

assert_size(size, *, msg)

Assert that the number of objects in this iterable should match provided size.

Parameters

size – Expected number of objects.

Keyword Arguments

msg – Purpose of this assertion.

assert_size_range(min_size, max_size, *, msg)

Assert that the number of objects in this iterable should be in the provided size range.

Parameters
  • min_size – Expected minimum number of objects.

  • max_size – Expected maximum number of objects.

Keyword Arguments

msg – Purpose of this assertion.

is_empty()

Returns True if this iterable has no objects.