コード例 #1
0
        public void DataTypes_RelativeConvert_Date_yesterday()
        {
            var timex = new TimexProperty("2017-09-21");
            var today = new System.DateTime(2017, 9, 22);

            Assert.AreEqual("yesterday", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #2
0
        public void DataTypes_RelativeConvert_Date_yesterday_cross_year_month_boundary()
        {
            var timex = new TimexProperty("2017-12-31");
            var today = new System.DateTime(2018, 1, 1);

            Assert.AreEqual("yesterday", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #3
0
        public void DataTypes_RelativeConvert_PartOfDay_yesterday_afternoon()
        {
            var timex = new TimexProperty("2017-09-24TAF");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("yesterday afternoon", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #4
0
        public void DataTypes_RelativeConvert_PartOfDay_next_wednesday_evening()
        {
            var timex = new TimexProperty("2017-10-04TEV");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("next Wednesday evening", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #5
0
        public void DataTypes_RelativeConvert_Season_last_summer()
        {
            var timex = new TimexProperty("2016-SU");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("last summer", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #6
0
        public void DataTypes_RelativeConvert_PartOfDay_tomorrow_morning()
        {
            var timex = new TimexProperty("2017-09-26TMO");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("tomorrow morning", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #7
0
        public void DataTypes_RelativeConvert_Date_tomorrow_cross_year_month_boundary()
        {
            var timex = new TimexProperty("2018-01-01");
            var today = new System.DateTime(2017, 12, 31);

            Assert.AreEqual("tomorrow", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #8
0
        public void DataTypes_RelativeConvert_Year_last_year()
        {
            var timex = new TimexProperty("2016");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("last year", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #9
0
        public void DataTypes_RelativeConvert_Weekend_last_weekend()
        {
            var timex = new TimexProperty("2017-W39-WE");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("last weekend", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #10
0
        public void DataTypes_RelativeConvert_Month_last_month()
        {
            var timex = new TimexProperty("2017-08");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("last month", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #11
0
        public void DataTypes_RelativeConvert_DateRange_last_week_2()
        {
            var timex = new TimexProperty("2017-W40");
            var today = new System.DateTime(2017, 10, 4);

            Assert.AreEqual("last week", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #12
0
        public void DataTypes_RelativeConvert_DateRange_next_week()
        {
            var timex = new TimexProperty("2017-W41");
            var today = new System.DateTime(2017, 9, 25);

            Assert.AreEqual("next week", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #13
0
        public void DataTypes_RelativeConvert_DateTime_tomorrow()
        {
            var timex = new TimexProperty("2017-09-23T16:00:00");
            var today = new System.DateTime(2017, 9, 22);

            Assert.AreEqual("tomorrow 4PM", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #14
0
        public void DataTypes_RelativeConvert_Date_last_week_2()
        {
            var timex = new TimexProperty("2017-09-07");
            var today = new System.DateTime(2017, 9, 22);

            Assert.AreEqual("7th September 2017", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #15
0
        public void DataTypes_RelativeConvert_Date_next_week_2()
        {
            var timex = new TimexProperty("2017-10-04");
            var today = new System.DateTime(2017, 9, 22);

            Assert.AreEqual("4th October 2017", TimexRelativeConvert.ConvertTimexToStringRelative(timex, today));
        }
コード例 #16
0
        private static EvaluateExpressionDelegate Evaluator()
        {
            return(FunctionUtils.ApplyWithError(
                       args =>
            {
                object result = null;
                string error;
                (result, error) = FunctionUtils.NormalizeToDateTime(args[0]);
                if (error == null)
                {
                    var timestamp1 = (DateTime)result;
                    (result, error) = FunctionUtils.NormalizeToDateTime(args[1]);
                    if (error == null)
                    {
                        var timestamp2 = (DateTime)result;
                        var timex = new TimexProperty(timestamp2.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
                        result = TimexRelativeConvert.ConvertTimexToStringRelative(timex, timestamp1);
                    }
                }

                return (result, error);
            }));
        }