private static void MementoTest() { var contrato = new Contrato(DateTime.UtcNow, "test 1", TipoContrato.Novo); contrato.SaveMemento(); Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}"); contrato.Avancar(); contrato.SaveMemento(); Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}"); contrato.Avancar(); Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}"); var contratoRollback = contrato.RollbackMemento(); contrato = contratoRollback; Console.WriteLine($"Estado atual do contrato apos rollback: {contrato.Tipo}"); }