struct member namedtuple replaced with class with dedicated ctor and repr function
using cmp makes py.test error messages correct