Should we perhaps invest more in keeping the object model consistent, e.g. give TestFeature a constructor that requires a valid name? In that case, I think I would consider making the Name property read-only.
There is a lot to be said for entirely immutable objects, i.e. objects that receive their "state"
as constructor parameters and cannot be modified after construction, especially if you
plan to later parallelize (parts of) the parsing.
I think the ATDD part for this can be covered with issue #5 . As for the other AL Object models, I need everything to be writable/changeable for my use cases.
Should we perhaps invest more in keeping the object model consistent, e.g. give TestFeature a constructor that requires a valid name? In that case, I think I would consider making the Name property read-only.
There is a lot to be said for entirely immutable objects, i.e. objects that receive their "state" as constructor parameters and cannot be modified after construction, especially if you plan to later parallelize (parts of) the parsing.