public void DsfDotNetDateTimeActivity_NotEqual() { //------------Setup for test-------------------------- var id = Guid.NewGuid().ToString(); var act1 = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 1, Result = "[[dt]]", UniqueID = id, TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; var act2 = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "dd/MM/yyyy", TimeModifierType = "", TimeModifierAmount = 1, Result = "[[dt]]", UniqueID = id, TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; //------------Execute Test--------------------------- //------------Assert Results------------------------- Assert.IsFalse(act1.Equals(act2)); }
public void DsfDateTimeActivity_Execute_Blank_ShouldHaveNoErrorWithDebugOutput() { //------------Setup for test-------------------------- const string varName = "[[dt]]"; var act = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 0, Result = varName, TimeModifierAmountDisplay = 0.ToString(CultureInfo.InvariantCulture) }; var dataMock = new Mock <IDSFDataObject>(); dataMock.Setup(o => o.IsDebugMode()).Returns(() => true); var executionEnvironment = new ExecutionEnvironment(); dataMock.Setup(o => o.Environment).Returns(executionEnvironment); var data = dataMock.Object; //------------Execute Test--------------------------- act.Execute(data, 0); //------------Assert Results------------------------- var debugout = act.GetDebugOutputs(executionEnvironment, 0); var value = executionEnvironment.EvalAsListOfStrings(varName, 0); Assert.AreEqual(1, value.Count); Assert.IsTrue(DateTime.TryParse(value[0], out DateTime datetimeResult), $"Failed to parse value: {value[0]} as a DateTime"); Assert.AreEqual(false, debugout[0].ResultsList[0].HasError); Assert.AreEqual(varName, debugout[0].ResultsList[0].Variable); Assert.AreEqual(DebugItemResultType.Variable, debugout[0].ResultsList[0].Type); }
public void DsfDateTimeActivity_GetOutputs_Called_ShouldReturnListWithResultValueInIt() { //------------Setup for test-------------------------- var act = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 1, Result = "[[dt]]", TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; //------------Execute Test--------------------------- var outputs = act.GetOutputs(); //------------Assert Results------------------------- Assert.AreEqual(1, outputs.Count); Assert.AreEqual("[[dt]]", outputs[0]); }
public void DsfDateTimeActivity_Execute_InvalidDateTime_ShouldHaveErrorWithDebugOutput() { //------------Setup for test-------------------------- const string varName = "[[dt]]"; var act = new DsfDotNetDateTimeActivity { DateTime = "a/p/R", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 1, Result = varName, TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; var dataMock = new Mock <IDSFDataObject>(); dataMock.Setup(o => o.IsDebugMode()).Returns(() => true); var executionEnvironment = new ExecutionEnvironment(); dataMock.Setup(o => o.Environment).Returns(executionEnvironment); var data = dataMock.Object; var timeBefore = DateTime.Now; //------------Execute Test--------------------------- var activity = act.Execute(data, 0); //------------Assert Results------------------------- var timeAfter = DateTime.Now; var debugout = act.GetDebugOutputs(executionEnvironment, 0); var value = executionEnvironment.EvalAsListOfStrings(varName, 0); Assert.AreEqual(value.Count, 1); Assert.AreEqual("", value[0]); Assert.AreEqual(false, debugout[0].ResultsList[0].HasError); Assert.AreEqual(varName, debugout[0].ResultsList[0].Variable); Assert.AreEqual(DebugItemResultType.Variable, debugout[0].ResultsList[0].Type); Assert.AreEqual("The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.", executionEnvironment.FetchErrors()); }
public void DsfDotNetDateTimeActivity_GetState_ReturnsStateVariable() { //------------Setup for test-------------------------- var calculateActivity = new DsfDotNetDateTimeActivity { DateTime = "2018/07/20", InputFormat = "yyyy/MM/dd", OutputFormat = "yyyy/MM/dd", TimeModifierType = "days", TimeModifierAmountDisplay = "days", TimeModifierAmount = 1, Result = "TimeChanged" }; //------------Execute Test--------------------------- var stateItems = calculateActivity.GetState(); Assert.AreEqual(7, stateItems.Count()); var expectedResults = new[] { new StateVariable { Name = "DateTime", Type = StateVariable.StateType.Input, Value = "2018/07/20" }, new StateVariable { Name = "InputFormat", Type = StateVariable.StateType.Input, Value = "yyyy/MM/dd" }, new StateVariable { Name = "OutputFormat", Type = StateVariable.StateType.Input, Value = "yyyy/MM/dd" }, new StateVariable { Name = "TimeModifierType", Type = StateVariable.StateType.Input, Value = "days" }, new StateVariable { Name = "TimeModifierAmountDisplay", Type = StateVariable.StateType.Input, Value = "days" }, new StateVariable { Name = "TimeModifierAmount", Type = StateVariable.StateType.Input, Value = "1" }, new StateVariable { Name = "Result", Type = StateVariable.StateType.Output, Value = "TimeChanged" } }; var iter = calculateActivity.GetState().Select( (item, index) => new { value = item, expectValue = expectedResults[index] } ); //------------Assert Results------------------------- foreach (var entry in iter) { Assert.AreEqual(entry.expectValue.Name, entry.value.Name); Assert.AreEqual(entry.expectValue.Type, entry.value.Type); Assert.AreEqual(entry.expectValue.Value, entry.value.Value); } }
public void DsfDotNetDateTimeActivity_Equal() { //------------Setup for test-------------------------- var id = Guid.NewGuid().ToString(); var act1 = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 1, Result = "[[dt]]", UniqueID = id, TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; var act2 = new DsfDotNetDateTimeActivity { DateTime = "", InputFormat = "", OutputFormat = "", TimeModifierType = "", TimeModifierAmount = 1, Result = "[[dt]]", UniqueID = id, TimeModifierAmountDisplay = 1.ToString(CultureInfo.InvariantCulture) }; //------------Execute Test--------------------------- //------------Assert Results------------------------- Assert.IsTrue(act1.Equals(act2)); string tmp_holder; tmp_holder = act2.DateTime; act2.DateTime = "today"; Assert.IsFalse(act1.Equals(act2)); act2.DateTime = tmp_holder; tmp_holder = act2.InputFormat; act2.InputFormat = "today"; Assert.IsFalse(act1.Equals(act2)); act2.InputFormat = tmp_holder; tmp_holder = act2.OutputFormat; act2.OutputFormat = "today"; Assert.IsFalse(act1.Equals(act2)); act2.OutputFormat = tmp_holder; tmp_holder = act2.TimeModifierType; act2.TimeModifierType = "today"; Assert.IsFalse(act1.Equals(act2)); act2.TimeModifierType = tmp_holder; var num_tmp_holder = act2.TimeModifierAmount; act2.TimeModifierAmount = 2; Assert.IsFalse(act1.Equals(act2)); act2.TimeModifierAmount = num_tmp_holder; tmp_holder = act2.TimeModifierAmountDisplay; act2.TimeModifierAmountDisplay = "today"; Assert.IsFalse(act1.Equals(act2)); act2.TimeModifierAmountDisplay = tmp_holder; Assert.IsTrue(act1.Equals(act2)); }