Source code for testoot.testoot

from typing import Optional

from testoot.base import TestootContext, Comparator, TestootSerializer, \
    TestootStorage, CanonizePolicy
from testoot.base_testoot import BaseTestoot


[docs]class Testoot: __test__ = False # Disable pytest collection warning """Main class. Stores base Testoot instance and context and bypasses them to calls"""
[docs] def __init__(self, base: BaseTestoot, context: TestootContext): self._base = base self._context = context
[docs] def test(self, obj: any, suffix: Optional[str] = None, comparator: Optional[Comparator] = None, serializer: Optional[TestootSerializer] = None, ): """Tests object. :param obj: test object :param suffix: test suffix for making a few tests in one context :param comparator: custom comparator override :param serializer: custom serializer override :return: """ return self._base.test( obj, context=self._context, suffix=suffix, comparator=comparator, serializer=serializer, )
[docs] def test_filename(self, filename: str, comparator: Optional[Comparator] = None, serializer: Optional[TestootSerializer] = None, ): """Tests generated file content. :param filename: test filename :param comparator: custom comparator override :param serializer: custom serializer override :return: """ return self._base.test_filename( filename, context=self._context, comparator=comparator, serializer=serializer, )
@property def base(self) -> BaseTestoot: return self._base @property def storage(self) -> TestootStorage: return self._base.storage @property def canonize_policy(self) -> CanonizePolicy: return self._base.canonize_policy