Plan should never be null in UpgradeTreeUpgradePlanViewModel right? Doesn't look like it can from code, at least.
I also deleted UpgradeTreeViewNodeState since it doesn't seem to be used. That information should technically already be available from the different viewmodels implementing IEquipmentPlanItemViewModel already too, I think. Or did you need that enum for anything else?
Also, I'm not sure if I should be chaining tests like this, feels dirty.
Plan should never be null in UpgradeTreeUpgradePlanViewModel right? Doesn't look like it can from code, at least. I also deleted UpgradeTreeViewNodeState since it doesn't seem to be used. That information should technically already be available from the different viewmodels implementing IEquipmentPlanItemViewModel already too, I think. Or did you need that enum for anything else?
Also, I'm not sure if I should be chaining tests like this, feels dirty.