diff --git a/OptionStudy.UnitApp/YamlStream.cs b/OptionStudy.UnitApp/YamlStream.cs index 498d83e..9268098 100644 --- a/OptionStudy.UnitApp/YamlStream.cs +++ b/OptionStudy.UnitApp/YamlStream.cs @@ -49,7 +49,7 @@ namespace OptionStudy.UnitApp public override void Load(Stream stream) { var parser = new YamlFileParser(); - Data =parser.Parse(stream); + Data = parser?.Parse(stream)??new Dictionary(); } } @@ -73,11 +73,11 @@ namespace OptionStudy.UnitApp /// public class YamlFileParser { - private readonly IDictionary _data = new SortedDictionary(StringComparer.OrdinalIgnoreCase); + private readonly IDictionary _data = new SortedDictionary(StringComparer.OrdinalIgnoreCase); private readonly Stack _context = new Stack(); - private string _currentPath; + private string? _currentPath; - public IDictionary Parse(Stream input) + public IDictionary Parse(Stream input) { _data.Clear(); _context.Clear(); @@ -99,7 +99,7 @@ namespace OptionStudy.UnitApp private void VisitYamlNodePair(KeyValuePair yamlNodePair) { - var context = ((YamlScalarNode)yamlNodePair.Key).Value; + var context = ((YamlScalarNode)yamlNodePair.Key).Value??string.Empty; VisitYamlNode(context, yamlNodePair.Value); } @@ -123,7 +123,7 @@ namespace OptionStudy.UnitApp { //a node with a single 1-1 mapping EnterContext(context); - var currentKey = _currentPath; + var currentKey = _currentPath??string.Empty; if (_data.ContainsKey(currentKey)) {