summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/FontUnitTests.cs
diff options
context:
space:
mode:
authorJason Smith <jason.smith@xamarin.com>2016-03-22 13:02:25 -0700
committerJason Smith <jason.smith@xamarin.com>2016-03-22 16:13:41 -0700
commit17fdde66d94155fc62a034fa6658995bef6fd6e5 (patch)
treeb5e5073a2a7b15cdbe826faa5c763e270a505729 /Xamarin.Forms.Core.UnitTests/FontUnitTests.cs
downloadxamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.gz
xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.bz2
xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.zip
Initial import
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/FontUnitTests.cs')
-rw-r--r--Xamarin.Forms.Core.UnitTests/FontUnitTests.cs129
1 files changed, 129 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/FontUnitTests.cs b/Xamarin.Forms.Core.UnitTests/FontUnitTests.cs
new file mode 100644
index 00000000..dcf972f9
--- /dev/null
+++ b/Xamarin.Forms.Core.UnitTests/FontUnitTests.cs
@@ -0,0 +1,129 @@
+using System.Globalization;
+
+using NUnit.Framework;
+
+
+namespace Xamarin.Forms.Core.UnitTests
+{
+ [TestFixture]
+ public class FontUnitTests : BaseTestFixture
+ {
+ [Test]
+ public void TestFontForSize ()
+ {
+ var font = Font.OfSize ("Foo", 12);
+ Assert.AreEqual ("Foo", font.FontFamily);
+ Assert.AreEqual (12, font.FontSize);
+ Assert.AreEqual ((NamedSize)0, font.NamedSize);
+ }
+
+ [Test]
+ public void TestFontForSizeDouble ()
+ {
+ var font = Font.OfSize ("Foo", 12.7);
+ Assert.AreEqual ("Foo", font.FontFamily);
+ Assert.AreEqual (12.7, font.FontSize);
+ Assert.AreEqual ((NamedSize)0, font.NamedSize);
+ }
+
+ [Test]
+ public void TestFontForNamedSize ()
+ {
+ var font = Font.OfSize ("Foo", NamedSize.Large);
+ Assert.AreEqual ("Foo", font.FontFamily);
+ Assert.AreEqual (0, font.FontSize);
+ Assert.AreEqual (NamedSize.Large, font.NamedSize);
+ }
+
+ [Test]
+ public void TestSystemFontOfSize ()
+ {
+ var font = Font.SystemFontOfSize (12);
+ Assert.AreEqual (null, font.FontFamily);
+ Assert.AreEqual (12, font.FontSize);
+ Assert.AreEqual ((NamedSize)0, font.NamedSize);
+
+ font = Font.SystemFontOfSize (NamedSize.Medium);
+ Assert.AreEqual (null, font.FontFamily);
+ Assert.AreEqual (0, font.FontSize);
+ Assert.AreEqual (NamedSize.Medium, font.NamedSize);
+ }
+
+ [Test]
+ public void CultureTestSystemFontOfSizeDouble ()
+ {
+ var font = Font.SystemFontOfSize (12.7);
+ Assert.AreEqual (null, font.FontFamily);
+ Assert.AreEqual (12.7, font.FontSize);
+ Assert.AreEqual ((NamedSize)0, font.NamedSize);
+
+ font = Font.SystemFontOfSize (NamedSize.Medium);
+ Assert.AreEqual (null, font.FontFamily);
+ Assert.AreEqual (0, font.FontSize);
+ Assert.AreEqual (NamedSize.Medium, font.NamedSize);
+ }
+
+ [Test]
+ public void TestEquality ()
+ {
+ var font1 = Font.SystemFontOfSize (12);
+ var font2 = Font.SystemFontOfSize (12);
+
+ Assert.True (font1 == font2);
+ Assert.False (font1 != font2);
+
+ font2 = Font.SystemFontOfSize (13);
+
+ Assert.False (font1 == font2);
+ Assert.True (font1 != font2);
+ }
+
+ [Test]
+ public void TestHashCode ()
+ {
+ var font1 = Font.SystemFontOfSize (12);
+ var font2 = Font.SystemFontOfSize (12);
+
+ Assert.True (font1.GetHashCode () == font2.GetHashCode ());
+
+ font2 = Font.SystemFontOfSize (13);
+
+ Assert.False (font1.GetHashCode () == font2.GetHashCode ());
+ }
+
+ [Test]
+ public void TestEquals ()
+ {
+ var font = Font.SystemFontOfSize (12);
+
+ Assert.False (font.Equals (null));
+ Assert.True (font.Equals (font));
+ Assert.False (font.Equals ("Font"));
+ Assert.True (font.Equals (Font.SystemFontOfSize (12)));
+ }
+
+ [Test]
+ public void TestFontConverter ()
+ {
+ var converter = new FontTypeConverter ();
+ Assert.True (converter.CanConvertFrom (typeof(string)));
+ Assert.AreEqual (Font.SystemFontOfSize (NamedSize.Medium), converter.ConvertFromInvariantString ("Medium"));
+ Assert.AreEqual (Font.SystemFontOfSize (42), converter.ConvertFromInvariantString ("42"));
+ Assert.AreEqual (Font.OfSize ("Foo", NamedSize.Micro), converter.ConvertFromInvariantString ("Foo, Micro"));
+ Assert.AreEqual (Font.OfSize ("Foo", 42), converter.ConvertFromInvariantString ("Foo, 42"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12.7), converter.ConvertFromInvariantString ("Foo, 12.7"));
+ Assert.AreEqual (Font.SystemFontOfSize (NamedSize.Large, FontAttributes.Bold), converter.ConvertFromInvariantString ("Bold, Large"));
+ Assert.AreEqual (Font.SystemFontOfSize (42, FontAttributes.Bold), converter.ConvertFromInvariantString ("Bold, 42"));
+ Assert.AreEqual (Font.OfSize ("Foo", NamedSize.Medium), converter.ConvertFromInvariantString ("Foo"));
+ Assert.AreEqual (Font.OfSize ("Foo", NamedSize.Large).WithAttributes (FontAttributes.Bold), converter.ConvertFromInvariantString ("Foo, Bold, Large"));
+ Assert.AreEqual (Font.OfSize ("Foo", NamedSize.Large).WithAttributes (FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Italic, Large"));
+ Assert.AreEqual (Font.OfSize ("Foo", NamedSize.Large).WithAttributes (FontAttributes.Bold | FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Bold, Italic, Large"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12).WithAttributes (FontAttributes.Bold), converter.ConvertFromInvariantString ("Foo, Bold, 12"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12.7).WithAttributes (FontAttributes.Bold), converter.ConvertFromInvariantString ("Foo, Bold, 12.7"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12).WithAttributes (FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Italic, 12"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12.7).WithAttributes (FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Italic, 12.7"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12).WithAttributes (FontAttributes.Bold | FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Bold, Italic, 12"));
+ Assert.AreEqual (Font.OfSize ("Foo", 12.7).WithAttributes (FontAttributes.Bold | FontAttributes.Italic), converter.ConvertFromInvariantString ("Foo, Bold, Italic, 12.7"));
+ }
+ }
+}