Example #1
0
        public void TestSerialization()
        {
            UniqueIDCache.ClearIdCache();
            DateConverterTransform transformToSeralize = new DateConverterTransform();

            transformToSeralize.ID                      = "test001";
            transformToSeralize.InputDateType           = DateType.FimServiceString;
            transformToSeralize.InputFormat             = "abc";
            transformToSeralize.InputTimeZone           = TimeZoneInfo.Utc;
            transformToSeralize.CalculationOperator     = DateOperator.Add;
            transformToSeralize.CalculationTimeSpanType = TimeSpanType.Hours;
            transformToSeralize.CalculationValue        = 6;
            transformToSeralize.OutputDateType          = DateType.String;
            transformToSeralize.OutputFormat            = "def";
            transformToSeralize.OutputTimeZone          = TimeZoneInfo.Local;
            UniqueIDCache.ClearIdCache();

            DateConverterTransform deserializedTransform = (DateConverterTransform)UnitTestControl.XmlSerializeRoundTrip <Transform>(transformToSeralize);

            Assert.AreEqual(transformToSeralize.ID, deserializedTransform.ID);
            Assert.AreEqual(transformToSeralize.InputDateType, deserializedTransform.InputDateType);
            Assert.AreEqual(transformToSeralize.InputFormat, deserializedTransform.InputFormat);
            Assert.AreEqual(transformToSeralize.InputTimeZone, deserializedTransform.InputTimeZone);
            Assert.AreEqual(transformToSeralize.CalculationOperator, deserializedTransform.CalculationOperator);
            Assert.AreEqual(transformToSeralize.CalculationTimeSpanType, deserializedTransform.CalculationTimeSpanType);
            Assert.AreEqual(transformToSeralize.CalculationValue, deserializedTransform.CalculationValue);
            Assert.AreEqual(transformToSeralize.OutputFormat, deserializedTransform.OutputFormat);
            Assert.AreEqual(transformToSeralize.OutputDateType, deserializedTransform.OutputDateType);
            Assert.AreEqual(transformToSeralize.OutputTimeZone, deserializedTransform.OutputTimeZone);
        }
Example #2
0
        private static void LoadTestTransforms()
        {
            StringCaseTransform t1 = new StringCaseTransform();

            t1.ID         = "ToUpperCase";
            t1.StringCase = StringCaseType.Upper;
            ActiveConfig.XmlConfig.Transforms.Add(t1);

            StringCaseTransform t2 = new StringCaseTransform();

            t2.ID         = "ToLowerCase";
            t2.StringCase = StringCaseType.Lower;
            ActiveConfig.XmlConfig.Transforms.Add(t2);

            SubstringTransform t3 = new SubstringTransform();

            t3.ID     = "GetFirstCharacter";
            t3.Length = 1;
            ActiveConfig.XmlConfig.Transforms.Add(t3);

            DateConverterTransform t4 = new DateConverterTransform();

            t4.ID                      = "Add30Days";
            t4.InputDateType           = DateType.Ticks;
            t4.InputTimeZone           = TimeZoneInfo.Utc;
            t4.OutputDateType          = DateType.Ticks;
            t4.OutputTimeZone          = TimeZoneInfo.Utc;
            t4.CalculationOperator     = DateOperator.Add;
            t4.CalculationTimeSpanType = TimeSpanType.Days;
            t4.CalculationValue        = 30;
            ActiveConfig.XmlConfig.Transforms.Add(t4);
        }
Example #3
0
        public void FimServiceStringUtcToDateLocal()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Utc;
            transform.InputDateType  = DateType.FimServiceString;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.Ticks;

            this.ExecuteTestStringToTicks(transform, "2014-01-02T10:00:00.000", new DateTime(2014, 1, 2, 10, 0, 0, DateTimeKind.Utc).ToLocalTime().Ticks);
        }
Example #4
0
        public void DateFormatTransformFileTime()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Utc;
            transform.InputDateType  = DateType.FileTime;
            transform.OutputTimeZone = TimeZoneInfo.Utc;
            transform.OutputDateType = DateType.DateTime;

            this.ExecuteTestTicksToDateTime(transform, new DateTime(0).Ticks, new DateTime(1601, 1, 1, 0, 0, 0));
        }
Example #5
0
        public void FimServiceStringToDate()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.FimServiceString;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.Ticks;

            this.ExecuteTestStringToTicks(transform, "2014-01-01T01:00:00.000", new DateTime(2014, 1, 1, 1, 0, 0).Ticks);
        }
Example #6
0
        public void ExecuteTestFormatDateAsLongDate()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.Ticks;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.String;
            transform.OutputFormat   = "D";

            this.ExecuteTestFormatDate(transform, new DateTime(2000, 1, 1, 1, 0, 0).Ticks, "Saturday, 1 January 2000");
        }
Example #7
0
        public void DateFormatTransformShortDateToDateTime()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.String;
            transform.InputFormat    = "d";
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.DateTime;

            this.ExecuteTestStringToDateTime(transform, "1/01/2000", new DateTime(2000, 1, 1, 0, 0, 0));
        }
Example #8
0
        public void StringToDateFormatAssumeLocal()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.String;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.Ticks;
            transform.InputFormat    = "dd/MM/yyyy hh:mm:ss tt";

            this.ExecuteTestStringToTicks(transform, "01/01/2000 01:00:00 AM", new DateTime(2000, 1, 1, 1, 0, 0).Ticks);
        }
Example #9
0
        public void DateFormatTransformShortTime()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.Ticks;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.String;
            transform.OutputFormat   = "t";

            this.ExecuteTestFormatDate(transform, new DateTime(2000, 1, 1, 1, 0, 0).Ticks, "1:00 AM");
        }
Example #10
0
        public void ExecuteTestNull()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.Ticks;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.String;
            transform.OutputFormat   = "D";

            this.ExecuteTestFormatDate(transform, null, null);
        }
Example #11
0
        private void ExecuteTestDateConverterCalculationMV(DateConverterTransform transform, TimeSpanType type, int valueToAdd)
        {
            DateTime startDate1 = new DateTime(2000, 1, 1);
            DateTime startDate2 = new DateTime(2010, 1, 1);
            DateTime startDate3 = new DateTime(2020, 1, 1);

            IList <object> startDates = new List <object>()
            {
                startDate1.Ticks, startDate2.Ticks, startDate3.Ticks
            };
            IList <object> outValues = transform.TransformValue(startDates);

            switch (type)
            {
            case TimeSpanType.Months:
                Assert.AreEqual(startDate1.AddMonths(valueToAdd).Ticks, (long)outValues[0]);
                Assert.AreEqual(startDate2.AddMonths(valueToAdd).Ticks, (long)outValues[1]);
                Assert.AreEqual(startDate3.AddMonths(valueToAdd).Ticks, (long)outValues[2]);
                break;

            case TimeSpanType.Weeks:
                Assert.AreEqual(startDate1.AddDays(valueToAdd * 7).Ticks, (long)outValues[0]);
                Assert.AreEqual(startDate2.AddDays(valueToAdd * 7).Ticks, (long)outValues[1]);
                Assert.AreEqual(startDate3.AddDays(valueToAdd * 7).Ticks, (long)outValues[2]);
                break;

            case TimeSpanType.Days:
                Assert.AreEqual(startDate1.AddDays(valueToAdd).Ticks, (long)outValues[0]);
                Assert.AreEqual(startDate2.AddDays(valueToAdd).Ticks, (long)outValues[1]);
                Assert.AreEqual(startDate3.AddDays(valueToAdd).Ticks, (long)outValues[2]);
                break;

            case TimeSpanType.Hours:
                Assert.AreEqual(startDate1.AddHours(valueToAdd).Ticks, (long)outValues[0]);
                Assert.AreEqual(startDate2.AddHours(valueToAdd).Ticks, (long)outValues[1]);
                Assert.AreEqual(startDate3.AddHours(valueToAdd).Ticks, (long)outValues[2]);

                break;

            case TimeSpanType.Minutes:
                Assert.AreEqual(startDate1.AddMinutes(valueToAdd).Ticks, (long)outValues[0]);
                Assert.AreEqual(startDate2.AddMinutes(valueToAdd).Ticks, (long)outValues[1]);
                Assert.AreEqual(startDate3.AddMinutes(valueToAdd).Ticks, (long)outValues[2]);

                break;

            default:
                Assert.Inconclusive("Verify the correctness of this test method.");
                break;
            }
        }
Example #12
0
        public void DateCalculationTransformAdd7Days()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone           = TimeZoneInfo.Local;
            transform.InputDateType           = DateType.Ticks;
            transform.OutputTimeZone          = TimeZoneInfo.Local;
            transform.OutputDateType          = DateType.Ticks;
            transform.CalculationTimeSpanType = TimeSpanType.Days;
            transform.CalculationOperator     = DateOperator.Add;
            transform.CalculationValue        = 7;

            this.ExecuteTestDateConverterCalculation(transform, transform.CalculationTimeSpanType, transform.CalculationValue);
        }
Example #13
0
        public void PerformanceTest()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Utc;
            transform.InputDateType  = DateType.FimServiceString;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.Ticks;

            UnitTestControl.PerformanceTest(() =>
            {
                Assert.AreEqual(new DateTime(2014, 1, 2, 10, 0, 0, DateTimeKind.Utc).ToLocalTime().Ticks, transform.TransformValue("2014-01-02T10:00:00.000").First());
            }, 80000);
        }
Example #14
0
        public void ExecuteTestFormatDateAsFullDate()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone  = TimeZoneInfo.Local;
            transform.InputDateType  = DateType.Ticks;
            transform.OutputTimeZone = TimeZoneInfo.Local;
            transform.OutputDateType = DateType.String;
            transform.OutputFormat   = "F";

            this.ExecuteTestFormatDate(
                transform,
                new DateTime(2000, 1, 1, 1, 0, 0).Ticks,
                new DateTime(2000, 1, 1, 1, 0, 0).ToString("F"));
        }
Example #15
0
        public void DateFormatTransformDateTimeToShortDatePlus5Days()
        {
            DateConverterTransform transform = new DateConverterTransform();

            transform.InputTimeZone           = TimeZoneInfo.Local;
            transform.InputDateType           = DateType.DateTime;
            transform.OutputTimeZone          = TimeZoneInfo.Local;
            transform.OutputDateType          = DateType.String;
            transform.CalculationOperator     = DateOperator.Add;
            transform.CalculationTimeSpanType = TimeSpanType.Days;
            transform.CalculationValue        = 5;
            transform.OutputFormat            = "d";

            this.ExecuteTestFormatDate(transform, new DateTime(2000, 1, 1, 0, 5, 0), "6/01/2000");
        }
Example #16
0
        private void ExecuteTestDateConverterCalculation(DateConverterTransform transform, TimeSpanType type, int valueToAdd)
        {
            DateTime startDate = new DateTime(2000, 1, 1);
            long     outValue  = (long)transform.TransformValue(startDate.Ticks).First();
            long     endTicks  = outValue;
            DateTime endDate   = new DateTime(endTicks);

            switch (type)
            {
            case TimeSpanType.Months:
                Assert.AreEqual(startDate.AddMonths(valueToAdd), endDate);

                break;

            case TimeSpanType.Weeks:
                Assert.AreEqual(startDate.AddDays(valueToAdd * 7), endDate);

                break;

            case TimeSpanType.Days:
                Assert.AreEqual(startDate.AddDays(valueToAdd), endDate);
                break;

            case TimeSpanType.Hours:
                Assert.AreEqual(startDate.AddHours(valueToAdd), endDate);

                break;

            case TimeSpanType.Minutes:
                Assert.AreEqual(startDate.AddMinutes(valueToAdd), endDate);

                break;

            default:
                Assert.Inconclusive("Verify the correctness of this test method.");
                break;
            }
        }
Example #17
0
        private void ExecuteTestStringToTicks(DateConverterTransform transform, string sourceValue, long expectedValue)
        {
            long outValue = (long)transform.TransformValue(sourceValue).FirstOrDefault();

            Assert.AreEqual(expectedValue, outValue);
        }
 public DateConverterTransformViewModel(DateConverterTransform model)
     : base(model)
 {
     this.model = model;
 }
Example #19
0
        private void ExecuteTestTicksToDateTime(DateConverterTransform transform, long sourceValue, DateTime expectedValue)
        {
            DateTime outValue = (DateTime)transform.TransformValue(sourceValue).FirstOrDefault();

            Assert.AreEqual(expectedValue, outValue);
        }
Example #20
0
        private void ExecuteTestFormatDate(DateConverterTransform transform, long sourceValue, string expectedValue)
        {
            string outValue = transform.TransformValue(sourceValue).FirstOrDefault() as string;

            Assert.AreEqual(expectedValue, outValue);
        }
Example #21
0
        private void ExecuteTestFormatDate(DateConverterTransform transform, object sourceValue, object expectedValue)
        {
            object outValue = transform.TransformValue(sourceValue).FirstOrDefault();

            Assert.AreEqual(expectedValue, outValue);
        }