public void PruningState_must_merge_state_correctly() { var p1 = new PruningInitialized(_node1, ImmutableHashSet <Address> .Empty); var p2 = new PruningPerformed(DateTime.UtcNow.AddHours(1)); p1.Merge(p2).Should().Be(p2); p2.Merge(p1).Should().Be(p2); var p3 = new PruningPerformed(p2.ObsoleteTime.AddMilliseconds(-1)); p2.Merge(p3).Should().Be(p2); // keep greatest obsoleteTime p3.Merge(p2).Should().Be(p2); }