public void StateUndo() { State o = new State(null); Assert.Empty(o.Move(1, 2, 1, 4)); Assert.Null(o.At(o.Live, 1, 2)); Assert.NotNull(o.At(o.Live, 1, 4)); Assert.False(o.At(o.Live, 1, 4).Inert); Assert.Single(o.History); o.Undo(o.LastNote()); Assert.Null(o.At(o.Live, 1, 4)); Assert.NotNull(o.At(o.Live, 1, 2)); Assert.True(o.At(o.Live, 1, 2).Inert); Assert.Empty(o.History); Assert.Empty(o.Move(1, 2, 1, 4)); Assert.Single(o.History); }