public List<Parameter> Read()
{
var result = new List<Parameter>();
using (var stream = new FileStream(_filePath, FileMode.Open))
using (var sr = new StreamReader(stream))
{
var content = sr.ReadToEnd();
if (string.IsNullOrWhiteSpace(content))
return result;
var parametersInFile = JObject.Parse(content);
foreach (var paramInFile in parametersInFile)
{
var parameter = new Parameter { ParameterKey = paramInFile.Key, ParameterValue = paramInFile.Value.ToString() };
result.Add(parameter);
}
}
return result;
}
public void Read_WhenInvalidJson_Throws() { var filePath = "ReadsOneParameter.txt"; var content = "{abc}"; CreateFile(filePath, content); try { var reader = new StackParameterReader(filePath); Assert.Throws<JsonReaderException>(() => reader.Read()); } finally { DeleteFile(filePath); } }