Source code for enrobie.robie.childs.test.test_person

"""
Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution
is permitted, for more information consult the project license file.
"""



from typing import TYPE_CHECKING

from encommon.types import inrepr
from encommon.types import instr
from encommon.types import lattrs

if TYPE_CHECKING:
    from ...robie import Robie



[docs] def test_RobiePerson( robie: 'Robie', ) -> None: """ Perform various tests associated with relevant routines. :param robie: Primary class instance for Chatting Robie. """ childs = robie.childs persons = childs.persons clients = childs.clients person = persons['hubert'] attrs = lattrs(person) assert attrs == [ '_RobieChild__robie', '_RobieChild__name', '_RobieChild__params'] assert inrepr( 'person.RobiePerson', person) assert isinstance( hash(person), int) assert instr( 'person.RobiePerson', person) person.validate() assert person.robie assert person.enable assert person.name == 'hubert' assert person.kind == 'person' assert person.params assert person.dumped assert person.first == 'Hubert' assert person.last == 'Farnsworth' assert person.about assert person.weight assert person.match( clients['dscbot'], '823039201390230492') assert not person.match( clients['dscbot'], '823902304920392013') assert not person.match( clients['ircbot'], 'anonymous') assert person.match( clients['ircbot'], 'hubert!hubert@science.com') assert not person.match( clients['ircbot'], 'bender!bender@bending.com') assert person.match( clients['mtmbot'], 'kjf9al2klaiietalkw') assert not person.match( clients['mtmbot'], 'iietalkwkjf9al2kla')