OSDN Git Service

TabModelのgetterに対するテストコードを追加
[opentween/open-tween.git] / OpenTween.Tests / TestUtils.cs
index 52ce8cd..1bdd046 100644 (file)
 
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
 using System.Linq;
 using System.Reflection;
 using System.Text;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using Xunit;
-using Xunit.Extensions;
 
 namespace OpenTween
 {
-    class TestUtils
+    internal static class TestUtils
     {
         public static void CheckDeepCloning(object obj, object cloneObj)
         {
@@ -50,6 +54,18 @@ namespace OpenTween
             }
         }
 
+        public static MemoryImage CreateDummyImage()
+        {
+            using (var bitmap = new Bitmap(100, 100))
+            using (var stream = new MemoryStream())
+            {
+                bitmap.Save(stream, ImageFormat.Png);
+                stream.Position = 0;
+
+                return MemoryImage.CopyFromStream(stream);
+            }
+        }
+
         public static void FireEvent<T>(T control, string eventName) where T : Control
         {
             TestUtils.FireEvent(control, eventName, EventArgs.Empty);
@@ -62,5 +78,16 @@ namespace OpenTween
 
             method.Invoke(control, new[] { e });
         }
+
+        public static void Validate<T>(T control) where T : Control
+        {
+            var cancelEventArgs = new CancelEventArgs();
+            TestUtils.FireEvent(control, "Validating", cancelEventArgs);
+
+            if (cancelEventArgs.Cancel)
+                return;
+
+            TestUtils.FireEvent(control, "Validated");
+        }
     }
 }