public void TestDateTime_DateTimePeriod() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7, 16, 12, 0); BasicTest(model, reference, "I'll be out five to seven today", Constants.SYS_DATETIME_DATETIMEPERIOD, "five to seven today", "(2016-11-07T05,2016-11-07T07,PT2H)"); BasicTest(model, reference, "I'll be out from 5 to 6pm of April 22", Constants.SYS_DATETIME_DATETIMEPERIOD, "from 5 to 6pm of april 22", "(XXXX-04-22T17,XXXX-04-22T18,PT1H)"); BasicTest(model, reference, "I'll be out 3:00 to 4:00 tomorrow", Constants.SYS_DATETIME_DATETIMEPERIOD, "3:00 to 4:00 tomorrow", "(2016-11-08T03:00,2016-11-08T04:00,PT1H)"); BasicTest(model, reference, "I'll go back this evening", Constants.SYS_DATETIME_DATETIMEPERIOD, "this evening", "2016-11-07TEV"); BasicTest(model, reference, "I'll go back tomorrow night", Constants.SYS_DATETIME_DATETIMEPERIOD, "tomorrow night", "2016-11-08TNI"); BasicTest(model, reference, "I'll go back next monday afternoon", Constants.SYS_DATETIME_DATETIMEPERIOD, "next monday afternoon", "2016-11-14TAF"); BasicTest(model, reference, "I'll go back next hour", Constants.SYS_DATETIME_DATETIMEPERIOD, "next hour", "(2016-11-07T16:12:00,2016-11-07T17:12:00,PT1H)"); }
public void TestDateTime_Duration() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "两年", Constants.SYS_DATETIME_DURATION, "两年", "P2Y"); BasicTest(model, reference, "6 天", Constants.SYS_DATETIME_DURATION, "6 天", "P6D"); BasicTest(model, reference, "7 周", Constants.SYS_DATETIME_DURATION, "7 周", "P7W"); BasicTest(model, reference, "5 小时", Constants.SYS_DATETIME_DURATION, "5 小时", "PT5H"); }
public void TestDateTime_DatePeriod() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "时间从一月十日到十二日", Constants.SYS_DATETIME_DATEPERIOD, "从一月十日到十二日", "(XXXX-01-10,XXXX-01-12,P2D)"); BasicTest(model, reference, "时间从2016年一月十日到十二日", Constants.SYS_DATETIME_DATEPERIOD, "从2016年一月十日到十二日", "(2016-01-10,2016-01-12,P2D)"); BasicTest(model, reference, "从一月十日到20日", Constants.SYS_DATETIME_DATEPERIOD, "从一月十日到20日", "(XXXX-01-10,XXXX-01-20,P10D)"); BasicTest(model, reference, "明年", Constants.SYS_DATETIME_DATEPERIOD, "明年", "2018"); BasicTest(model, reference, "十月的第一周", Constants.SYS_DATETIME_DATEPERIOD, "十月的第一周", "XXXX-10-W01"); BasicTest(model, reference, "前1周", Constants.SYS_DATETIME_DATEPERIOD, "前1周", "(2017-03-15,2017-03-22,P1W)"); BasicTest(model, reference, "后1年", Constants.SYS_DATETIME_DATEPERIOD, "后1年", "(2017-03-23,2018-03-23,P1Y)"); BasicTest(model, reference, "今年夏天", Constants.SYS_DATETIME_DATEPERIOD, "今年夏天", "2017-SU"); }
public void TestDateTime_Date() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "2010/01/29", Constants.SYS_DATETIME_DATE, "2010/01/29", "2010-01-29"); BasicTest(model, reference, "农历2015年十月初一", Constants.SYS_DATETIME_DATE, "农历2015年十月初一", "2015-10-01"); BasicTest(model, reference, "正月三十", Constants.SYS_DATETIME_DATE, "正月三十", "XXXX-01-30"); BasicTest(model, reference, "10月12号,星期一", Constants.SYS_DATETIME_DATE, "10月12号,星期一", "XXXX-10-12"); BasicTest(model, reference, "最近", Constants.SYS_DATETIME_DATE, "最近", "2017-03-22"); BasicTest(model, reference, "12号", Constants.SYS_DATETIME_DATE, "12号", "XXXX-XX-12"); BasicTest(model, reference, "二零零四年八月十五", Constants.SYS_DATETIME_DATE, "二零零四年八月十五", "2004-08-15"); BasicTest(model, reference, "本月十日", Constants.SYS_DATETIME_DATE, "本月十日", "XXXX-03-10"); }
public void TestDateTime_TimePeriod() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "从下午五点一刻到六点", Constants.SYS_DATETIME_TIMEPERIOD, "从下午五点一刻到六点", "(T17:15,T18,PT0H45M)"); BasicTest(model, reference, "17:55:23-18:33:02", Constants.SYS_DATETIME_TIMEPERIOD, "17:55:23-18:33:02", "(T17:55:23,T18:33:02,PT0H37M39S)"); BasicTest(model, reference, "从17点55分23秒至18点33分02秒", Constants.SYS_DATETIME_TIMEPERIOD, "从17点55分23秒至18点33分02秒", "(T17:55:23,T18:33:02,PT0H37M39S)"); BasicTest(model, reference, "早上五到六点", Constants.SYS_DATETIME_TIMEPERIOD, "早上五到六点", "(T05,T06,PT1H)"); BasicTest(model, reference, "下午五点到晚上七点半", Constants.SYS_DATETIME_TIMEPERIOD, "下午五点到晚上七点半", "(T17,T19:30,PT2H30M)"); BasicTest(model, reference, "下午5:00到凌晨3:00", Constants.SYS_DATETIME_TIMEPERIOD, "下午5:00到凌晨3:00", "(T17:00,T03:00,PT10H)"); BasicTest(model, reference, "下午5:00到6:00", Constants.SYS_DATETIME_TIMEPERIOD, "下午5:00到6:00", "(T17:00,T18:00,PT1H)"); BasicTest(model, reference, "5:00到6:00", Constants.SYS_DATETIME_TIMEPERIOD, "5:00到6:00", "(T05:00,T06:00,PT1H)"); }
public void TestDateTime_Time() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "下午5:00", Constants.SYS_DATETIME_TIME, "下午5:00", "T17:00"); BasicTest(model, reference, "晚上9:30", Constants.SYS_DATETIME_TIME, "晚上9:30", "T21:30"); BasicTest(model, reference, "晚上19:30", Constants.SYS_DATETIME_TIME, "晚上19:30", "T19:30"); BasicTest(model, reference, "大约十点", Constants.SYS_DATETIME_TIME, "大约十点", "T10"); BasicTest(model, reference, "大约晚上十点", Constants.SYS_DATETIME_TIME, "大约晚上十点", "T22"); BasicTest(model, reference, "凌晨2点半", Constants.SYS_DATETIME_TIME, "凌晨2点半", "T02:30"); BasicTest(model, reference, "零点", Constants.SYS_DATETIME_TIME, "零点", "T00"); BasicTest(model, reference, "零点整", Constants.SYS_DATETIME_TIME, "零点整", "T00"); }
public void TestDateTime_Set() { var model = DateTimeRecognizer.GetModel(Culture.Chinese);; var reference = new DateObject(2017, 3, 22); BasicTest(model, reference, "事件 每天都发生", Constants.SYS_DATETIME_SET, "每天", "P1D"); BasicTest(model, reference, "事件每日都发生", Constants.SYS_DATETIME_SET, "每日", "P1D"); BasicTest(model, reference, "事件每周都发生", Constants.SYS_DATETIME_SET, "每周", "P1W"); BasicTest(model, reference, "事件每个星期都发生", Constants.SYS_DATETIME_SET, "每个星期", "P1W"); BasicTest(model, reference, "事件每个月都发生", Constants.SYS_DATETIME_SET, "每个月", "P1M"); BasicTest(model, reference, "事件每年都发生", Constants.SYS_DATETIME_SET, "每年", "P1Y"); BasicTest(model, reference, "事件每周一都发生", Constants.SYS_DATETIME_SET, "每周一", "XXXX-WXX-1"); BasicTest(model, reference, "事件每周一下午八点都发生", Constants.SYS_DATETIME_SET, "每周一下午八点", "XXXX-WXX-1T20"); }
public void TestDateTime_DateTimePeriod() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2016, 11, 7, 16, 12, 0); BasicTest(model, reference, "从昨天下午两点到明天四点", Constants.SYS_DATETIME_DATETIMEPERIOD, "从昨天下午两点到明天四点", "(2016-11-06T14,2016-11-08T04,PT38H)"); BasicTest(model, reference, "从昨天5:00-6:00", Constants.SYS_DATETIME_DATETIMEPERIOD, "从昨天5:00-6:00", "(2016-11-06T05:00,2016-11-06T06:00,PT1H)"); BasicTest(model, reference, "1月15号4点和2月3号9点之间", Constants.SYS_DATETIME_DATETIMEPERIOD, "1月15号4点和2月3号9点之间", "(XXXX-01-15T04,XXXX-02-03T09,PT461H)"); BasicTest(model, reference, "昨晚", Constants.SYS_DATETIME_DATETIMEPERIOD, "昨晚", "2016-11-06TEV"); BasicTest(model, reference, "明天上午", Constants.SYS_DATETIME_DATETIMEPERIOD, "明天上午", "2016-11-08TMO"); BasicTest(model, reference, "上个小时", Constants.SYS_DATETIME_DATETIMEPERIOD, "上个小时", "(2016-11-07T15:12:00,2016-11-07T16:12:00,PT1H)"); BasicTest(model, reference, "之后5分钟", Constants.SYS_DATETIME_DATETIMEPERIOD, "之后5分钟", "(2016-11-07T16:12:00,2016-11-07T16:17:00,PT5M)"); BasicTest(model, reference, "之前3小时", Constants.SYS_DATETIME_DATETIMEPERIOD, "之前3小时", "(2016-11-07T13:12:00,2016-11-07T16:12:00,PT3H)"); }
public void TestDateTime_DateTime() { var model = DateTimeRecognizer.GetModel(Culture.Chinese); var reference = new DateObject(2016, 11, 7, 14, 7, 0); BasicTest(model, reference, "2010.01.29晚上六点", Constants.SYS_DATETIME_DATETIME, "2010.01.29晚上六点", "2010-01-29T18"); BasicTest(model, reference, "1987年1月11日八点", Constants.SYS_DATETIME_DATETIME, "1987年1月11日八点", "1987-01-11T08"); BasicTest(model, reference, "2015年十月初一早上九点二十", Constants.SYS_DATETIME_DATETIME, "2015年十月初一早上九点二十", "2015-10-01T09:20"); BasicTest(model, reference, "1月19号下午5:00", Constants.SYS_DATETIME_DATETIME, "1月19号下午5:00", "XXXX-01-19T17:00"); BasicTest(model, reference, "明天下午5:00", Constants.SYS_DATETIME_DATETIME, "明天下午5:00", "2016-11-08T17:00"); BasicTest(model, reference, "今晚6点", Constants.SYS_DATETIME_DATETIME, "今晚6点", "2016-11-07T18"); BasicTest(model, reference, "今晨5点", Constants.SYS_DATETIME_DATETIME, "今晨5点", "2016-11-07T05"); BasicTest(model, reference, "今早8点十五分", Constants.SYS_DATETIME_DATETIME, "今早8点十五分", "2016-11-07T08:15"); }
public void TestDateTime_DatePeriod() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll be out from 4-23 in next month", Constants.SYS_DATETIME_DATEPERIOD, "from 4-23 in next month", "(2016-12-04,2016-12-23,P19D)"); BasicTest(model, reference, "I'll be out between 3 and 12 of Sept hahaha", Constants.SYS_DATETIME_DATEPERIOD, "between 3 and 12 of sept", "(XXXX-09-03,XXXX-09-12,P9D)"); BasicTest(model, reference, "I'll be out this September", Constants.SYS_DATETIME_DATEPERIOD, "this september", "2016-09"); BasicTest(model, reference, "I'll be out January 12, 2016 - 01/22/2016", Constants.SYS_DATETIME_DATEPERIOD, "january 12, 2016 - 01/22/2016", "(2016-01-12,2016-01-22,P10D)"); BasicTest(model, reference, "I'll be out next 3 days", Constants.SYS_DATETIME_DATEPERIOD, "next 3 days", "(2016-11-08,2016-11-11,P3D)"); BasicTest(model, reference, "I'll be out the last week of july", Constants.SYS_DATETIME_DATEPERIOD, "the last week of july", "XXXX-07-W04"); BasicTest(model, reference, "I'll be out 2015-3", Constants.SYS_DATETIME_DATEPERIOD, "2015-3", "2015-03"); BasicTest(model, reference, "I'll leave this SUMMER", Constants.SYS_DATETIME_DATEPERIOD, "this summer", "2016-SU"); }
public void TestDateTime_Date() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll go back Oct/2", Constants.SYS_DATETIME_DATE, "oct/2", "XXXX-10-02", "2017-10-02", "2016-10-02"); BasicTest(model, reference, "I'll go back on 22/04", Constants.SYS_DATETIME_DATE, "22/04", "XXXX-04-22", "2017-04-22", "2016-04-22"); BasicTest(model, reference, "I'll go back May twenty nine", Constants.SYS_DATETIME_DATE, "may twenty nine", "XXXX-05-29", "2017-05-29", "2016-05-29"); BasicTest(model, reference, "I'll go back second of Aug.", Constants.SYS_DATETIME_DATE, "second of aug", "XXXX-08-02", "2017-08-02", "2016-08-02"); BasicTest(model, reference, "I'll go back today", Constants.SYS_DATETIME_DATE, "today", "2016-11-07"); BasicTest(model, reference, "I'll go back tomorrow", Constants.SYS_DATETIME_DATE, "tomorrow", "2016-11-08"); BasicTest(model, reference, "I'll go back yesterday", Constants.SYS_DATETIME_DATE, "yesterday", "2016-11-06"); BasicTest(model, reference, "I'll go back on Friday", Constants.SYS_DATETIME_DATE, "friday", "XXXX-WXX-5", "2016-11-11", "2016-11-04"); }
public void TestDateTime_TimePeriod() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7, 16, 12, 0); BasicTest(model, reference, "I'll be out 5 to 6pm", Constants.SYS_DATETIME_TIMEPERIOD, "5 to 6pm", "(T17,T18,PT1H)"); BasicTest(model, reference, "I'll be out 5 to seven in the morning", Constants.SYS_DATETIME_TIMEPERIOD, "5 to seven in the morning", "(T05,T07,PT2H)"); BasicTest(model, reference, "I'll be out between 5 and 6 in the afternoon", Constants.SYS_DATETIME_TIMEPERIOD, "between 5 and 6 in the afternoon", "(T17,T18,PT1H)"); BasicTest(model, reference, "I'll be out 4:00 to 7 oclock", Constants.SYS_DATETIME_TIMEPERIOD, "4:00 to 7 oclock", "(T04:00,T07,PT3H)"); BasicTest(model, reference, "I'll be out from 3 in the morning until 5pm", Constants.SYS_DATETIME_TIMEPERIOD, "from 3 in the morning until 5pm", "(T03,T17,PT14H)"); BasicTest(model, reference, "I'll be out between 4pm and 5pm", Constants.SYS_DATETIME_TIMEPERIOD, "between 4pm and 5pm", "(T16,T17,PT1H)"); BasicTest(model, reference, "let's meet in the morning", Constants.SYS_DATETIME_TIMEPERIOD, "morning", "TMO"); BasicTest(model, reference, "let's meet in the evening", Constants.SYS_DATETIME_TIMEPERIOD, "evening", "TEV"); }
public void TestDateTime_Time() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll be back 7:56:30 pm", Constants.SYS_DATETIME_TIME, "7:56:30 pm", "T19:56:30"); BasicTest(model, reference, "It's half past seven o'clock", Constants.SYS_DATETIME_TIME, "half past seven o'clock", "T07:30"); BasicTest(model, reference, "It's 20 min past eight in the evening", Constants.SYS_DATETIME_TIME, "20 min past eight in the evening", "T20:20"); BasicTest(model, reference, "I'll be back in the morning at 7", Constants.SYS_DATETIME_TIME, "in the morning at 7", "T07"); BasicTest(model, reference, "I'll be back in the afternoon at 7", Constants.SYS_DATETIME_TIME, "in the afternoon at 7", "T19"); BasicTest(model, reference, "I'll be back noonish", Constants.SYS_DATETIME_TIME, "noonish", "T12"); BasicTest(model, reference, "I'll be back 11ish", Constants.SYS_DATETIME_TIME, "11ish", "T11"); BasicTest(model, reference, "I'll be back 1140 a.m.", Constants.SYS_DATETIME_TIME, "1140 a.m.", "T11:40"); }
public void TestDateTime_Set() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll leave weekly", Constants.SYS_DATETIME_SET, "weekly", "P1W"); BasicTest(model, reference, "I'll leave every day", Constants.SYS_DATETIME_SET, "every day", "P1D"); BasicTest(model, reference, "I'll leave annually", Constants.SYS_DATETIME_SET, "annually", "P1Y"); BasicTest(model, reference, "I'll leave each two days", Constants.SYS_DATETIME_SET, "each two days", "P2D"); BasicTest(model, reference, "I'll leave every three week", Constants.SYS_DATETIME_SET, "every three week", "P3W"); BasicTest(model, reference, "I'll leave 3pm each day", Constants.SYS_DATETIME_SET, "3pm each day", "T15"); BasicTest(model, reference, "I'll leave every monday", Constants.SYS_DATETIME_SET, "every monday", "XXXX-WXX-1"); BasicTest(model, reference, "I'll leave each monday at 4pm", Constants.SYS_DATETIME_SET, "each monday at 4pm", "XXXX-WXX-1T16"); }
public void TestDateTime_Duration() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll leave for 3h", Constants.SYS_DATETIME_DURATION, "3h", "PT3H"); BasicTest(model, reference, "I'll leave for 3.5years", Constants.SYS_DATETIME_DURATION, "3.5years", "P3.5Y"); BasicTest(model, reference, "I'll leave for 3 minutes", Constants.SYS_DATETIME_DURATION, "3 minutes", "PT3M"); BasicTest(model, reference, "I'll leave for 123.45 sec", Constants.SYS_DATETIME_DURATION, "123.45 sec", "PT123.45S"); BasicTest(model, reference, "I'll leave for all day", Constants.SYS_DATETIME_DURATION, "all day", "P1D"); BasicTest(model, reference, "I'll leave for twenty and four hours", Constants.SYS_DATETIME_DURATION, "twenty and four hours", "PT24H"); BasicTest(model, reference, "I'll leave for all month", Constants.SYS_DATETIME_DURATION, "all month", "P1M"); BasicTest(model, reference, "I'll leave for an hour", Constants.SYS_DATETIME_DURATION, "an hour", "PT1H"); }
public void TestDateTime_DateTime() { var model = DateTimeRecognizer.GetModel(Culture.English); var reference = new DateObject(2016, 11, 7); BasicTest(model, reference, "I'll go back now", Constants.SYS_DATETIME_DATETIME, "now", "PRESENT_REF"); BasicTest(model, reference, "I'll go back October 14 for 8:00:31am", Constants.SYS_DATETIME_DATETIME, "october 14 for 8:00:31am", "XXXX-10-14T08:00:31"); BasicTest(model, reference, "I'll go back tomorrow 8:00am", Constants.SYS_DATETIME_DATETIME, "tomorrow 8:00am", "2016-11-08T08:00"); BasicTest(model, reference, "I'll go back 10, tonight", Constants.SYS_DATETIME_DATETIME, "10, tonight", "2016-11-07T22"); BasicTest(model, reference, "I'll go back 8am this morning", Constants.SYS_DATETIME_DATETIME, "8am this morning", "2016-11-07T08"); BasicTest(model, reference, "I'll go back end of tomorrow", Constants.SYS_DATETIME_DATETIME, "end of tomorrow", "2016-11-08T23:59"); BasicTest(model, reference, "I'll go back end of the sunday", Constants.SYS_DATETIME_DATETIME, "end of the sunday", "XXXX-WXX-7T23:59"); BasicTest(model, reference, "I'll go back end of this sunday", Constants.SYS_DATETIME_DATETIME, "end of this sunday", "2016-11-13T23:59"); }