OSDN Git Service

ITwitterCredentialとアクセス手段ごとの具象クラスを追加
[opentween/open-tween.git] / OpenTween.Tests / TweenMainTest.cs
index 984dc31..87dfbec 100644 (file)
@@ -25,7 +25,12 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
+using OpenTween.Api;
 using OpenTween.Api.DataModel;
+using OpenTween.Connection;
+using OpenTween.Models;
+using OpenTween.Setting;
+using OpenTween.Thumbnail;
 using Xunit;
 using Xunit.Extensions;
 
@@ -33,60 +38,67 @@ namespace OpenTween
 {
     public class TweenMainTest
     {
+        [WinFormsFact]
+        public void Initialize_Test()
+        {
+            var settings = new SettingManager("");
+            var tabinfo = new TabInformations();
+            using var twitterApi = new TwitterApi();
+            using var twitter = new Twitter(twitterApi);
+            using var imageCache = new ImageCache();
+            using var iconAssets = new IconAssetsManager();
+            var thumbnailGenerator = new ThumbnailGenerator(new(autoupdate: false));
+            twitter.Initialize(new TwitterCredentialNone(), "", 0L);
+
+            using var tweenMain = new TweenMain(settings, tabinfo, twitter, imageCache, iconAssets, thumbnailGenerator);
+        }
+
         [Fact]
         public void GetUrlFromDataObject_XMozUrlTest()
         {
             var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\nTwitter\0");
-            using (var memstream = new MemoryStream(dataBytes))
-            {
-                var data = new DataObject("text/x-moz-url", memstream);
+            using var memstream = new MemoryStream(dataBytes);
+            var data = new DataObject("text/x-moz-url", memstream);
 
-                var expected = ("https://twitter.com/", "Twitter");
-                Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
-            }
+            var expected = ("https://twitter.com/", "Twitter");
+            Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
         }
 
         [Fact]
         public void GetUrlFromDataObject_IESiteModeToUrlTest()
         {
             var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\0Twitter\0");
-            using (var memstream = new MemoryStream(dataBytes))
-            {
-                var data = new DataObject("IESiteModeToUrl", memstream);
+            using var memstream = new MemoryStream(dataBytes);
+            var data = new DataObject("IESiteModeToUrl", memstream);
 
-                var expected = ("https://twitter.com/", "Twitter");
-                Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
-            }
+            var expected = ("https://twitter.com/", "Twitter");
+            Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
         }
 
         [Fact]
         public void GetUrlFromDataObject_UniformResourceLocatorWTest()
         {
             var dataBytes = Encoding.Unicode.GetBytes("https://twitter.com/\0");
-            using (var memstream = new MemoryStream(dataBytes))
-            {
-                var data = new DataObject("UniformResourceLocatorW", memstream);
+            using var memstream = new MemoryStream(dataBytes);
+            var data = new DataObject("UniformResourceLocatorW", memstream);
 
-                var expected = ("https://twitter.com/", (string)null);
-                Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
-            }
+            var expected = ("https://twitter.com/", (string?)null);
+            Assert.Equal(expected, TweenMain.GetUrlFromDataObject(data));
         }
 
         [Fact]
         public void GetUrlFromDataObject_UnknownFormatTest()
         {
-            using (var memstream = new MemoryStream(Array.Empty<byte>()))
-            {
-                var data = new DataObject("application/x-hogehoge", memstream);
+            using var memstream = new MemoryStream(Array.Empty<byte>());
+            var data = new DataObject("application/x-hogehoge", memstream);
 
-                Assert.Throws<NotSupportedException>(() => TweenMain.GetUrlFromDataObject(data));
-            }
+            Assert.Throws<NotSupportedException>(() => TweenMain.GetUrlFromDataObject(data));
         }
 
         [Fact]
         public void CreateRetweetUnofficial_UrlTest()
         {
-            var statusText = "<a href=\"http://t.co/KYi7vMZzRt\" title=\"http://twitter.com/\">twitter.com</a>";
+            var statusText = """<a href="http://t.co/KYi7vMZzRt" title="http://twitter.com/">twitter.com</a>""";
 
             Assert.Equal("http://twitter.com/", TweenMain.CreateRetweetUnofficial(statusText, false));
         }
@@ -94,7 +106,7 @@ namespace OpenTween
         [Fact]
         public void CreateRetweetUnofficial_MentionTest()
         {
-            var statusText = "<a class=\"mention\" href=\"https://twitter.com/twitterapi\">@TwitterAPI</a>";
+            var statusText = """<a class="mention" href="https://twitter.com/twitterapi">@TwitterAPI</a>""";
 
             Assert.Equal("@TwitterAPI", TweenMain.CreateRetweetUnofficial(statusText, false));
         }
@@ -102,7 +114,7 @@ namespace OpenTween
         [Fact]
         public void CreateRetweetUnofficial_HashtagTest()
         {
-            var statusText = "<a class=\"hashtag\" href=\"https://twitter.com/search?q=%23OpenTween\">#OpenTween</a>";
+            var statusText = """<a class="hashtag" href="https://twitter.com/search?q=%23OpenTween">#OpenTween</a>""";
 
             Assert.Equal("#OpenTween", TweenMain.CreateRetweetUnofficial(statusText, false));
         }