private LineProcessInstructions GetInstructions(string variableType, string stats, string period) { var instructions = new LineProcessInstructions(); instructions.AddProcessCommand(string.Format("{0}\t{1}\t{2}\t", variableType, stats, period)); return(instructions); }
public void InvalidPeriodFormatThrowsException() { //setup var line1 = string.Format("{0}\t{1}\t{2}", "CashPrem", "Average", "somethingweird"); var sut = new LineProcessInstructions(); //execute sut.AddProcessCommand(line1); }
public void ExceptionThrownIfUnconfiguredVariableType() { //setup var line = string.Format("{0}\t{1}\t{2}", "CashPrem", "Average", "MinValue"); var sut = new LineProcessInstructions(); sut.AddProcessCommand(line); //execute var val = sut.ExtractPeriodValueOfInterest(GetTestValues(), "x"); }
public void MinPeriodValueIsCorrectlyParsed() { //setup var line = string.Format("{0}\t{1}\t{2}", "CashPrem", "Average", "MinValue"); var sut = new LineProcessInstructions(); //execute sut.AddProcessCommand(line); //assert Assert.AreEqual(1, sut.Processors.Count); Assert.AreEqual(periodChoice.MinPeriodValue, sut.Processors["CashPrem_MinPeriodValue_Average"].Period); }
public void LastValueIsReturnedAsRelevantValue() { //setup var line = string.Format("{0}\t{1}\t{2}", "CashPrem", "Average", "LastValue"); var sut = new LineProcessInstructions(); sut.AddProcessCommand(line); //execute var val = sut.ExtractPeriodValueOfInterest(GetTestValues(), "CashPrem"); //assert Assert.AreEqual(200, val.First().Value); }
public void MultipleCalculationsOnSameVariableCorrectlyLoad() { //setup var line1 = string.Format("{0}\t{1}\t{2}", "CashPrem", "Average", "MinValue"); var line2 = string.Format("{0}\t{1}\t{2}", "CashPrem", "MaxValue", "MinValue"); var sut = new LineProcessInstructions(); //execute sut.AddProcessCommand(line1); sut.AddProcessCommand(line2); //assert Assert.AreEqual(2, sut.Processors.Count); Assert.IsTrue(sut.Processors.ContainsKey("CashPrem_MinPeriodValue_MaxValue")); Assert.IsTrue(sut.Processors.ContainsKey("CashPrem_MinPeriodValue_Average")); }