public void TryParseDateFails(string[] tokens, int startIdx) { DateArgumentToken token = new DateArgumentToken("arg", false); var result = token.Matches(tokens, startIdx); DateTime parsedDate; bool argValueExists = result.TryGetArgValue(token, out parsedDate); Assert.Equal(TokenMatchResult.None, result); Assert.False(argValueExists); }
public static bool TryMatchDate(string dateStr, out DateTime date) { string[] inputTokens = CommandParser.Tokenize(dateStr); int startIdx = 0; ArgumentToken token = new DateArgumentToken("arg", false); if (TryMatchDate(token, DateTime.Today, inputTokens, startIdx, out TokenMatchResult result)) { result.TryGetArgValue(token, out date); return(true); } date = DateTime.Today; return(false); }
public void TryParseExplicitDate(string[] tokens, int startIdx, string expectedDateStr) { DateTime expected = DateTime.Parse(expectedDateStr); DateArgumentToken token = new DateArgumentToken("arg", false); var result = token.Matches(tokens, startIdx); DateTime parsedDate; bool argValueExists = result.TryGetArgValue(token, out parsedDate); Assert.True(result.MatchOutcome == MatchOutcome.Full); Assert.True(argValueExists); Assert.Equal(expected, parsedDate); }
public void TryParseYesterday() { DateTime currentDate = DateTime.Parse("01/02/2020"); DateTime expected = DateTime.Parse("01/01/2020"); DateArgumentToken token = new DateArgumentToken("arg", false, currentDate); var result = token.Matches(new [] { "yesterday" }, 0); DateTime parsedDate; bool argValueExists = result.TryGetArgValue(token, out parsedDate); Assert.True(result.MatchOutcome == MatchOutcome.Full); Assert.True(argValueExists); Assert.Equal(expected, parsedDate); }