From 41e90b2303404cdf0c30fd380458ab0c7dc61fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Tue, 3 Dec 2019 21:33:18 +0100 Subject: [PATCH] Add simple Drawing TypeConverter tests Regression test for https://github.com/xamarin/xamarin-android/issues/3726 --- .../Test/Mono.Android-Test.Shared.projitems | 1 + .../Test/System.Drawing/TypeConverterTest.cs | 66 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/Mono.Android/Test/System.Drawing/TypeConverterTest.cs diff --git a/src/Mono.Android/Test/Mono.Android-Test.Shared.projitems b/src/Mono.Android/Test/Mono.Android-Test.Shared.projitems index a0d32843c40..335481f029f 100644 --- a/src/Mono.Android/Test/Mono.Android-Test.Shared.projitems +++ b/src/Mono.Android/Test/Mono.Android-Test.Shared.projitems @@ -31,6 +31,7 @@ + diff --git a/src/Mono.Android/Test/System.Drawing/TypeConverterTest.cs b/src/Mono.Android/Test/System.Drawing/TypeConverterTest.cs new file mode 100644 index 00000000000..18c164a3d6d --- /dev/null +++ b/src/Mono.Android/Test/System.Drawing/TypeConverterTest.cs @@ -0,0 +1,66 @@ +using System; +using System.ComponentModel; +using System.Drawing; + +using NUnit.Framework; + +namespace System.Drawing { + + [TestFixture] + public class TypeConverterTest { + + [Test] + public void ColorConverter () + { + var typeConverter = TypeDescriptor.GetConverter (typeof (Color)); + var color = (Color)typeConverter.ConvertFromString ("#FFAAEE"); + + Assert.AreEqual (0xFF, color.A, "A"); + Assert.AreEqual (0xFF, color.R, "R"); + Assert.AreEqual (0xAA, color.G, "G"); + Assert.AreEqual (0xEE, color.B, "B"); + } + + [Test] + public void RectangleConverter () + { + var typeConverter = TypeDescriptor.GetConverter (typeof (Rectangle)); + var rect = (Rectangle)typeConverter.ConvertFromString ("10, 20, 30, 40"); + + Assert.AreEqual (10, rect.X, "X"); + Assert.AreEqual (20, rect.Y, "Y"); + Assert.AreEqual (30, rect.Width, "Width"); + Assert.AreEqual (40, rect.Height, "Height"); + } + + [Test] + public void PointConverter () + { + var typeConverter = TypeDescriptor.GetConverter (typeof (Point)); + var point = (Point)typeConverter.ConvertFromString ("10, 20"); + + Assert.AreEqual (10, point.X, "X"); + Assert.AreEqual (20, point.Y, "Y"); + } + + [Test] + public void SizeConverter () + { + var typeConverter = TypeDescriptor.GetConverter (typeof (Size)); + var size = (Size)typeConverter.ConvertFromString ("10, 20"); + + Assert.AreEqual (10, size.Width, "Width"); + Assert.AreEqual (20, size.Height, "Height"); + } + + [Test] + public void SizeFConverter () + { + var typeConverter = TypeDescriptor.GetConverter (typeof (SizeF)); + var sizeF = (SizeF)typeConverter.ConvertFromString ("10.5, 20.5"); + + Assert.AreEqual (10.5, sizeF.Width, "Width"); + Assert.AreEqual (20.5, sizeF.Height, "Height"); + } + } +}