From 2fd587fc6e351aa8d0c0679b305db693f3b20841 Mon Sep 17 00:00:00 2001 From: jackfiled Date: Mon, 23 Oct 2023 20:32:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8F=AF=E8=83=BD=E5=8F=91=E7=94=9F?= =?UTF-8?q?=E8=BF=9E=E7=BB=AD=E8=BD=AC=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Katheryne.Tests/YamlDeserializerTests.cs | 32 ++++++++++++++++++++++++ Katheryne/KatheryneChatRobot.cs | 5 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/Katheryne.Tests/YamlDeserializerTests.cs b/Katheryne.Tests/YamlDeserializerTests.cs index 9a90a7d..c4a6363 100644 --- a/Katheryne.Tests/YamlDeserializerTests.cs +++ b/Katheryne.Tests/YamlDeserializerTests.cs @@ -37,6 +37,38 @@ public class YamlDeserializerTests Assert.Contains(actual.Stages, s => s.Name == "start"); Assert.Contains(actual.Stages, s => s.Name == "running"); + + Stage stage = actual.Stages[1]; + Assert.Equal("running", stage.Name); + Assert.Contains(stage.Transformers, t => t.NextStageName == "running"); + } + + [Fact] + public void DeserializerTest2() + { + const string document = + """ + robotName: 凯瑟琳 + stages: + - name: start + answer: 向着星辰和深渊!欢迎来到冒险家协会。 + transformers: + - pattern: + nextStageName: running + - pattern: .*? + nextStageName: running + beginStageName: start + """; + + IDeserializer deserializer = _factory.GetDeserializer(); + LexicalModel actual = deserializer.Deserialize(document); + + Assert.Contains(actual.Stages, s => s.Name == "start"); + + Stage stage = actual.Stages[0]; + + Assert.Contains(stage.Transformers, s => string.IsNullOrEmpty(s.Pattern)); + Assert.Contains(stage.Transformers, s => s.Pattern == ".*?"); } } \ No newline at end of file diff --git a/Katheryne/KatheryneChatRobot.cs b/Katheryne/KatheryneChatRobot.cs index 644f8f5..94c226e 100644 --- a/Katheryne/KatheryneChatRobot.cs +++ b/Katheryne/KatheryneChatRobot.cs @@ -56,7 +56,8 @@ public class KatheryneChatRobot : IChatRobot { _currentStage = transformer.NextStage; result.Add(_grammarTree[_currentStage].Answer); - _logger.LogDebug("Moving to stage {}.", _currentStage); + _logger.LogInformation("Moving to stage {} on input {}.", _currentStage, input); + break; } } @@ -82,7 +83,7 @@ public class KatheryneChatRobot : IChatRobot _currentStage = transformer.NextStage; result.Add(_grammarTree[_currentStage].Answer); - _logger.LogDebug("Moving to stage {} with empty transform.", _currentStage); + _logger.LogInformation("Moving to stage {} with empty transform.", _currentStage); break; } }