text: from itertools import repeat
  import pytest
  from faker import Faker
  
  homework = pytest.importorskip("homework_01.main")
  
  fake = Faker()
  
  @pytest.fixture(params=range(10))
  def m(request):
      return request.param
  @pytest.fixture
  def p(m):
      OO000000O00O0OOO0 = fake.pylist(nb_elements=fake.pyint(15, 100), value_types=["int"])
      OOOO000000O0OO000 = list(map(pow, OO000000O00O0OOO0, repeat(2)))
      return OO000000O00O0OOO0, OOOO000000O0OO000
  def test_power_numbers(p):
      OO00O00O000O0OO00, OO0O0O00OOO0OOOO0 = p
      OOOOO00OO000OOO0O = homework.power_numbers(*OO00O00O000O0OO00)
      assert OOOOO00OO000OOO0O == OO0O0O00OOO0OOOO0
  def ip (O000OO0O0O000OOO0 )->bool :
      if O000OO0O0O000OOO0 <=1 :
          return False
      if O000OO0O0O000OOO0 <=3 :
          return True
      if O000OO0O0O000OOO0 %2 ==0 or O000OO0O0O000OOO0 %3 ==0 :
          return False
      OO0OOO0000O000O00 =5
      while OO0OOO0000O000O00 *OO0OOO0000O000O00 <=O000OO0O0O000OOO0 :
          if O000OO0O0O000OOO0 %OO0OOO0000O000O00 ==0 or O000OO0O0O000OOO0 %(OO0OOO0000O000O00 +2 )==0 :
              return False
          OO0OOO0000O000O00 =OO0OOO0000O000O00 +6
      return True
  @pytest .fixture
  def f (request ):
      OO0O0O0O0OO000000 =request .param
      OO00O00OOOO000OOO ={homework .ODD :lambda O0OO0O00O0OOO00OO :O0OO0O00O0OOO00OO %2 !=0 ,homework .EVEN :lambda OO0000OO0OO00OO00 :OO0000OO0OO00OO00 %2 ==0 ,homework .PRIME :ip ,}
      OO000O0O00OOO0O0O =fake .pylist (nb_elements =fake .pyint (30 ,100 ),value_types =["int"])
      OOOOOO0O0O0OO0O00 =list (filter (OO00O00OOOO000OOO [OO0O0O0O0OO000000 ],OO000O0O00OOO0O0O ))
      return OO0O0O0O0OO000000 ,OO000O0O00OOO0O0O ,OOOOOO0O0O0OO0O00
  @pytest .mark .parametrize ("f",[homework .ODD ,homework .EVEN ,homework .PRIME ],indirect =True )
  def test_filter_numbers (f, m ):
      OO0OOOOOO0O0OOOO0 ,OO0O0O000OO00OO0O ,OO000OO0OO0OOOO0O =f
      OOOO0O00O0O0O0000 =homework .filter_numbers (OO0O0O000OO00OO0O ,OO0OOOOOO0O0OOOO0 )
      assert OOOO0O00O0O0O0000 ==OO000OO0OO0OOOO0O
  
  @pytest .mark .parametrize ("p", [
      (homework.ODD, [1,2,3,4,5,6,7,8,9], [1,3,5,7,9]),
      (homework.EVEN, [2,3,4,5,6,7,8,9,10], [2,4,6,8,10]),
      (homework.PRIME, [0,1,2,3,4,5,6,7,8,9,10,11], [2,3,5,7,11]),
  ])
  def test_filter_numbers_consts(p):
      OO0OOOOOO0O0OOOO0 ,OO0O0O000OO00OO0O ,OO000OO0OO0OOOO0O =p
      OOOO0O00O0O0O0000 =homework .filter_numbers (OO0O0O000OO00OO0O ,OO0OOOOOO0O0OOOO0 )
      assert OOOO0O00O0O0O0000 ==OO000OO0OO0OOOO0O
  