1 // ================================================================================================
3 // MediaWikiRedirectParserのテストクラスソース。</summary>
5 // <copyright file="MediaWikiRedirectParserTest.cs" company="honeplusのメモ帳">
6 // Copyright (C) 2012 Honeplus. All rights reserved.</copyright>
9 // ================================================================================================
11 namespace Honememo.Wptscs.Parsers
14 using Honememo.Parsers;
15 using Honememo.Wptscs.Models;
16 using Honememo.Wptscs.Websites;
17 using NUnit.Framework;
20 /// <see cref="MediaWikiRedirectParser"/>のテストクラスです。
23 class MediaWikiRedirectParserTest
25 #region インスタンス実装メソッドテストケース
28 /// <see cref="MediaWikiRedirectParser.TryParse"/>メソッドテストケース。
31 public void TestTryParse()
35 using (MediaWikiRedirectParser parser = new MediaWikiRedirectParser(new MockFactory().GetMediaWiki("en")))
38 Assert.IsTrue(parser.TryParse("#redirect [[Test]]", out element));
39 Assert.IsInstanceOf(typeof(MediaWikiLink), element);
40 link = (MediaWikiLink)element;
41 Assert.AreEqual("Test", link.Title);
42 Assert.IsNull(link.Section);
45 Assert.IsTrue(parser.TryParse("#redirect [[Test#Section]]", out element));
46 Assert.IsInstanceOf(typeof(MediaWikiLink), element);
47 link = (MediaWikiLink)element;
48 Assert.AreEqual("Test", link.Title);
49 Assert.AreEqual("Section", link.Section);
52 Assert.IsFalse(parser.TryParse("'''Example''' may refer to:", out element));
53 Assert.IsNull(element);
56 Assert.IsFalse(parser.TryParse("#転送 [[Test]]", out element));
57 Assert.IsNull(element);
60 Assert.IsFalse(parser.TryParse(String.Empty, out element));
61 Assert.IsNull(element);
62 Assert.IsFalse(parser.TryParse(null, out element));
63 Assert.IsNull(element);
66 using (MediaWikiRedirectParser parser = new MediaWikiRedirectParser(new MockFactory().GetMediaWiki("ja")))
69 Assert.IsTrue(parser.TryParse("#転送 [[Test]]", out element));
70 Assert.IsInstanceOf(typeof(MediaWikiLink), element);
71 link = (MediaWikiLink)element;
72 Assert.AreEqual("Test", link.Title);