public void SingleTokenTest() { var tm = new TokenMachine(); var m = tm.AddToken(123); tm.AddToken(456); tm.Revert(m); Assert.That(tm.Tokens.Count, Is.EqualTo(1)); Assert.That(tm.Tokens[0].Value, Is.EqualTo(123)); }
public void TwoTokenTest() { var tm = new TokenMachine(); tm.AddToken(1); var m = tm.AddToken(2); tm.AddToken(3); tm.Revert(m); Assert.That(tm.Tokens.Count, Is.EqualTo(2)); Assert.That(tm.Tokens[0].Value, Is.EqualTo(1), $"First token should have value 1, you got {tm.Tokens[0].Value}"); Assert.That(tm.Tokens[1].Value, Is.EqualTo(2)); }
public void FiddledTokenTest() { var tm = new TokenMachine(); Console.WriteLine("Made a token with value 111 and kept a reference"); var token = new Token(111); Console.WriteLine("Added this token to the list"); tm.AddToken(token); var m = tm.AddToken(222); Console.WriteLine("Changed this token's value to 333 :)"); token.Value = 333; tm.Revert(m); Assert.That(tm.Tokens.Count, Is.EqualTo(2), $"At this point, token machine should have exactly two tokens, you got {tm.Tokens.Count}"); Assert.That(tm.Tokens[0].Value, Is.EqualTo(111), $"You got the token value wrong here. Hint: did you init the memento by value?"); }