From 71eb26b66ac86566772be394225800b018b0359c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Tue, 21 Jul 2020 16:06:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E5=BF=98=E5=BD=95=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../behavior/memento/ArticleMementoTest.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/test/java/top/fjy8018/designpattern/pattern/behavior/memento/ArticleMementoTest.java diff --git a/src/test/java/top/fjy8018/designpattern/pattern/behavior/memento/ArticleMementoTest.java b/src/test/java/top/fjy8018/designpattern/pattern/behavior/memento/ArticleMementoTest.java new file mode 100644 index 0000000..c817395 --- /dev/null +++ b/src/test/java/top/fjy8018/designpattern/pattern/behavior/memento/ArticleMementoTest.java @@ -0,0 +1,56 @@ +package top.fjy8018.designpattern.pattern.behavior.memento; + +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; + +/** + * @author F嘉阳 + * @date 2020/3/6 17:07 + */ +@Slf4j +class ArticleMementoTest { + + @Test + void getTitle() { + ArticleMementoManager articleMementoManager = new ArticleMementoManager(); + + Article article = new Article("如影随行的设计模式A", "手记内容A", "手记图片A"); + // 存档 + ArticleMemento articleMemento = article.saveToMemento(); + + articleMementoManager.addMemento(articleMemento); + log.info("标题:" + article.getTitle() + " 内容:" + article.getContent() + " 图片:" + article.getImgs() + " 暂存成功"); + + log.info("手记完整信息:" + article); + + log.info("修改手记start"); + + article.setTitle("如影随行的设计模式B"); + article.setContent("手记内容B"); + article.setImgs("手记图片B"); + + log.info("修改手记end"); + + log.info("手记完整信息:" + article); + + articleMemento = article.saveToMemento(); + articleMementoManager.addMemento(articleMemento); + + article.setTitle("如影随行的设计模式C"); + article.setContent("手记内容C"); + article.setImgs("手记图片C"); + + log.info("暂存回退start"); + // 取档 + log.info("回退出栈1次"); + articleMemento = articleMementoManager.getMemento(); + article.undoFromMemento(articleMemento); + + log.info("回退出栈2次"); + articleMemento = articleMementoManager.getMemento(); + article.undoFromMemento(articleMemento); + + log.info("暂存回退end"); + log.info("手记完整信息:" + article); + } +} \ No newline at end of file