[docs]classTestDeclaration(INodeElement):"""Represents a Zig test declaration."""def__init__(self,name:Union[str,None,LazyInit],body:Union[str,LazyInit])->None:self._name=nameself._body=body
[docs]@classmethoddeffrom_node(cls,node:PyASTNode)->"TestDeclaration":assertcls.is_node_valid(node),"Provided node is not a test declaration."lazy=LazyInit(node)returncls(name=lazy,body=lazy)
@property@lazy_invokedefname(self)->Optional[str]:"""Test name, or `None` for anonymous tests (e.g. `test { ... }`)."""assertisinstance(self._name,LazyInit)self._name=self._name.node.spellingifself._name=="test":self._name=Nonereturnself._name@name.setterdefname(self,value:Optional[str])->None:self._name=value@property@lazy_invokedefbody(self)->str:"""Raw body of the test."""assertisinstance(self._body,LazyInit)body=self._body.node.bodyassertisinstance(body,str)self._body=bodyreturnself._body@body.setterdefbody(self,value:str)->None:self._body=value