namespace BenchtopParserTests { public class Program_Config_Tests { public String program_config_value; [SetUp] public void Setup() { program_config_value = File.ReadAllText( Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestFiles\Program Config.txt") ); } [Test] public void Test_ProgramConfig() { var programConfigs = BenchtopParser.I28.Load_ProgramConfig(program_config_value); Assert.IsNotNull(programConfigs); // Check that group collecting works - Assert.That(programConfigs.programs["P1"].I["3"].value, Is.EqualTo("Unassigned")); Assert.That(programConfigs.programs["P1"].O["3"].value, Is.EqualTo("Test Passed")); Assert.That(programConfigs.programs["P1"].P["Minimum Pressure"].value, Is.EqualTo("95.000")); Assert.That(programConfigs.programs["P1"].P["Minimum Pressure"].unit, Is.EqualTo("mbar")); Assert.That(programConfigs.programs["P1"].P["Minimum Pressure"].type, Is.EqualTo("f")); } [Test] public void Test_ProgramConfig_Throw_ErrorOrder() { Exception ex = Assert.Throws(delegate { BenchtopParser.I28.Load_ProgramConfig("EBAE006 L 1,P1"); }); Assert.That(ex.Message, Is.EqualTo("Setting Program Number Before Start. Error In Config")); } [Test] public void Test_ProgramConfig_Throw_InvalidProgram() { Exception ex = Assert.Throws(delegate { BenchtopParser.I28.Load_ProgramConfig("broken"); }); Assert.That(ex.Message, Is.EqualTo("Invalid Program Config, please provide an I28 Program Config file data")); } } }