| import struct_value |
| |
| b = struct_value.Bar() |
| |
| b.a.x = 3 |
| if b.a.x != 3: |
| raise RuntimeError |
| |
| b.b.x = 3 |
| if b.b.x != 3: |
| raise RuntimeError |
| |
| |
| # Test dynamically added attributes - Github pull request #320 |
| b.added = 123 |
| |
| if b.added != 123: |
| raise RuntimeError("Wrong attribute value") |
| |
| if "added" not in b.__dict__: |
| raise RuntimeError("Missing added attribute in __dict__") |
| |
| |
| class PyBar(struct_value.Bar): |
| |
| def __init__(self): |
| self.extra = "hi" |
| struct_value.Bar.__init__(self) |
| |
| pybar = PyBar() |
| if "extra" not in pybar.__dict__: |
| raise RuntimeError("Missing extra attribute in __dict__") |
| if pybar.extra != "hi": |
| raise RuntimeError("Incorrect attribute value for extra") |