defl/tests.old/test_regex.py

46 lines
1.3 KiB
Python
Raw Normal View History

2024-09-11 11:14:03 -04:00
#!/usr/bin/env python
import datetime
import enum
import itertools
import os
import random
import re
import sys
import time
from dataclasses import KW_ONLY, dataclass, field
from operator import itemgetter
from time import sleep
from datetime import datetime, timedelta, timezone
from functools import partial
import defl
from defl import Assert, CLIError, Path, SignalTimeoutError, cl, log
from defl._typing_ import *
from defl.testing_ import Test, Tester, TestState
from defl import Time, TimeDelta, TimeZone
from zoneinfo import ZoneInfo
tester = Tester(name=__file__)
@tester.add()
def timeClass():
r = [r'1', r'2', r'3']
Assert(defl.Regex(r).any('4')).eq(False)
Assert(defl.Regex(r).any('1')).eq(True)
Assert(defl.Regex(r).any('1', '4')).eq(True)
Assert(defl.Regex(r).all('5', '4')).eq(false)
Assert(defl.Regex(r).all('1', '4')).eq(false)
Assert(defl.Regex(r).all('1', '2')).eq(false)
Assert(defl.Regex(r).all('1', '2', '3')).eq(false)
Assert(defl.Regex(r).sub('12312345678')).eq('45678')
Assert(defl.Regex(r).sub('12312345678', '839658736')).eq(('45678', '8965876'))
res = [x for x in defl.Regex(r).find('123 123 45678 333', '1 3 2')]
Assert(res).eq(['1', '1', '1', '2', '2', '2', '3', '3', '3', '3', '3', '3'])
log.info(tester.run())
tester.exitWithStatus()