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; } }