protected override void ExecuteTool(IDSFDataObject dataObject, int update) { var allErrors = new ErrorResultTO(); var errors = new ErrorResultTO(); allErrors.MergeErrors(errors); InitializeDebug(dataObject); try { AddDebugInputs(dataObject, update); var colItr = new WarewolfListIterator(); var nowDate = DateTime.Now.ToString(GlobalConstants.Dev2DotNetDefaultDateTimeFormat, CultureInfo.InvariantCulture); var input1Itr = new WarewolfIterator(dataObject.Environment.EvalStrict(string.IsNullOrEmpty(Input1) ? nowDate : Input1, update)); colItr.AddVariableToIterateOn(input1Itr); var evalInp2 = dataObject.Environment.EvalStrict(string.IsNullOrEmpty(Input2) ? nowDate : Input2, update); var input2Itr = new WarewolfIterator(evalInp2); colItr.AddVariableToIterateOn(input2Itr); var ifItr = new WarewolfIterator(dataObject.Environment.Eval(InputFormat ?? string.Empty, update)); colItr.AddVariableToIterateOn(ifItr); var indexToUpsertTo = 1; while (colItr.HasMoreData()) { var transObj = ConvertToDateTimeDiffTo(colItr.FetchNextValue(input1Itr), colItr.FetchNextValue(input2Itr), colItr.FetchNextValue(ifItr), OutputType); var comparer = DateTimeConverterFactory.CreateStandardComparer(); var expression = Result; if (comparer.TryCompare(transObj, out string result, out string error)) { expression = AssignResults(dataObject, update, allErrors, indexToUpsertTo, expression, result); } else { DoDebugOutput(dataObject, expression, update); allErrors.AddError(error); } indexToUpsertTo++; }
public void DateTimeConverterFactory_CreateStandardComparer() { var standardComparer = DateTimeConverterFactory.CreateStandardComparer(); Assert.AreEqual(typeof(StandardDateTimeComparer), standardComparer.GetType()); }