public void Parse_Test(string input, DateTimeUtc expected) => Assert.Equal(expected, DateTimeUtc.Parse(input, DateTimeFormatInfo.InvariantInfo));
public void Parse_ErrorTest() => Assert.Throws <FormatException>(() => DateTimeUtc.Parse("### INVALID ###", DateTimeFormatInfo.InvariantInfo));
public void FormatQuoteTweetHtml_PostClassTest() { var post = new PostClass { StatusId = 12345L, Nickname = "upsilon", ScreenName = "kim_upsilon", Text = "<a href=\"https://twitter.com/twitterapi\">@twitterapi</a> hogehoge", CreatedAt = new DateTimeUtc(2015, 3, 30, 3, 30, 0), }; // PostClass.Text はリンクを除去するのみでエスケープは行わない // (TweetFormatter によって既にエスケープされた文字列が格納されているため) var expected = "<a class=\"quote-tweet-link\" href=\"//opentween/status/12345\">" + "<blockquote class=\"quote-tweet\">" + "<p>@twitterapi hogehoge</p> — upsilon (@kim_upsilon) " + DateTimeUtc.Parse("2015/03/30 3:30:00", DateTimeFormatInfo.InvariantInfo).ToLocalTimeString() + "</blockquote></a>"; Assert.Equal(expected, TweetDetailsView.FormatQuoteTweetHtml(post, isReply: false)); }