コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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]);
        }
コード例 #4
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());
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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));
        }