Best Python code snippet using localstack_python
utils.py
Source:utils.py
1from abc import ABC, abstractmethod2from typing import TypeVar, Set3T = TypeVar("T")4def get_all_subclasses(cls: T) -> Set[T]:5 all_subclasses = set()6 for subclass in cls.__subclasses__():7 all_subclasses.add(subclass)8 all_subclasses.update(get_all_subclasses(subclass))9 return all_subclasses10class classproperty:11 def __init__(self, method=None):12 self.fget = method13 def __get__(self, instance, cls=None):14 return self.fget(cls)15 def getter(self, method):16 self.fget = method17 return self18class Categorizable(ABC):19 @classproperty20 @abstractmethod21 def category(cls) -> str:22 pass23 @classmethod24 def for_category(cls: T, category: str) -> T:25 for subclass in get_all_subclasses(cls):26 if subclass.category == category:27 return subclass28 raise ValueError(f'Subclass for category "{category}" not found.')29 @classproperty30 def all_categories(cls) -> Set[str]:31 return {clss.category for clss in get_all_subclasses(cls)}32 def __eq__(self, other):33 return (34 isinstance(other, Categorizable)35 and self.category == other.category36 )37 def __hash__(self) -> int:...
get_all_subclasses.py
Source:get_all_subclasses.py
1#!/usr/bin/env python32# -*- coding: utf-8 -*-3__author__ = 'ipetrash'4# SOURCE: https://stackoverflow.com/a/17246726/59097925def get_all_subclasses(cls):6 all_subclasses = []7 for subclass in cls.__subclasses__():8 all_subclasses.append(subclass)9 all_subclasses.extend(get_all_subclasses(subclass))10 return all_subclasses11if __name__ == '__main__':12 class A:13 name = 'A'14 class B(A):15 name = 'AB'16 class C(A):17 name = 'AC'18 class D(C):19 name = 'ACD'20 class E(C):21 name = 'ACE'22 class F(D):23 name = 'ACDF'24 print(get_all_subclasses(A)) # [<class '__main__.B'>, <class '__main__.C'>, <class '__main__.D'>,...25 print(get_all_subclasses(B)) # []...
test_subclasses.py
Source:test_subclasses.py
...3 class A0:4 pass5 class B0:6 pass7 assert get_all_subclasses(A0) == set()8 class A1(A0):9 pass10 class B1(B0):11 pass12 class A2(A1):13 pass14 class M1(A0, B1):15 pass16 class M2(A2, B0):17 pass18 assert get_all_subclasses(A0) == {A1, A2, M1, M2}19 assert get_all_subclasses(B0) == {B1, M1, M2}...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!