| 41 | |
| 42 | @pytest.mark.parametrize("m_attr", ["m_shmp", "m_shcp"]) |
| 43 | def test_shp(m_attr): |
| 44 | m_attr_readonly = m_attr + "_readonly" |
| 45 | m_attr_readwrite = m_attr + "_readwrite" |
| 46 | outer = m.Outer() |
| 47 | assert getattr(outer, m_attr_readonly) is None |
| 48 | assert getattr(outer, m_attr_readwrite) is None |
| 49 | field = m.Field() |
| 50 | field.num = 43 |
| 51 | setattr(outer, m_attr_readwrite, field) |
| 52 | assert getattr(outer, m_attr_readonly).num == 43 |
| 53 | assert getattr(outer, m_attr_readwrite).num == 43 |
| 54 | getattr(outer, m_attr_readonly).num = 57 |
| 55 | getattr(outer, m_attr_readwrite).num = 57 |
| 56 | assert field.num == 57 |
| 57 | del field |
| 58 | assert getattr(outer, m_attr_readonly).num == 57 |
| 59 | assert getattr(outer, m_attr_readwrite).num == 57 |
| 60 | |
| 61 | |
| 62 | @pytest.mark.parametrize( |