Katheryne/Katheryne.Tests/YamlDeserializerTests.cs

42 lines
1.2 KiB
C#
Raw Normal View History

2023-10-12 22:42:45 +08:00
using Katheryne.Models;
using Katheryne.Services;
using YamlDotNet.Serialization;
namespace Katheryne.Tests;
public class YamlDeserializerTests
{
private readonly YamlDeserializerFactory _factory = new();
[Fact]
public void DeserializerTest1()
{
const string document =
"""
robotName:
stages:
- name: start
answer:
transformers:
- pattern: .*?
nextStageName: running
- name: running
answer:
transformers:
- pattern: .*?
nextStageName: running
beginStageName: start
""";
IDeserializer deserializer = _factory.GetDeserializer();
LexicalModel actual = deserializer.Deserialize<LexicalModel>(document);
Assert.Equal("凯瑟琳", actual.RobotName);
Assert.Equal("start", actual.BeginStageName);
Assert.Contains(actual.Stages, s => s.Name == "start");
Assert.Contains(actual.Stages, s => s.Name == "running");
}
}