+ def check(self, *, wrap, i=None, o=None, oe=None):
+ if self.type_ in (IOType.In, IOType.InTriOut):
+ sig = f"{self.name}__core__i"
+ val = getattr(wrap.ti, sig).value
+ if val != i:
+ raise ValueError(f"'{sig}' should be {i}, not {val}")
+ if self.type_ in (IOType.Out, IOType.TriOut, IOType.InTriOut):
+ sig = f"{self.name}__pad__o"
+ val = getattr(wrap.ti, sig).value
+ if val != o:
+ raise ValueError(f"'{sig}' should be {o}, not {val}")
+ if self.type_ in (IOType.TriOut, IOType.InTriOut):
+ sig = f"{self.name}__pad__oe"
+ val = getattr(wrap.ti, sig).value
+ if val != oe:
+ raise ValueError(f"'{sig}' should be {oe}, not {val}")
+