summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/TextCellTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/TextCellTests.cs')
-rw-r--r--Xamarin.Forms.Core.UnitTests/TextCellTests.cs129
1 files changed, 129 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/TextCellTests.cs b/Xamarin.Forms.Core.UnitTests/TextCellTests.cs
new file mode 100644
index 00000000..43965a35
--- /dev/null
+++ b/Xamarin.Forms.Core.UnitTests/TextCellTests.cs
@@ -0,0 +1,129 @@
+using System;
+using NUnit.Framework;
+
+
+namespace Xamarin.Forms.Core.UnitTests
+{
+ [TestFixture]
+ public class TextCellTests : BaseTestFixture
+ {
+ [Test]
+ public void TestTapped ()
+ {
+ var cell = new TextCell ();
+ bool tapped = false;
+ cell.Tapped += (sender, args) => tapped = true;
+
+ cell.OnTapped();
+ Assert.True (tapped);
+ }
+
+ [Test]
+ public void TestCommand()
+ {
+ bool executed = false;
+
+ var cmd = new Command (() => executed = true);
+ var cell = new TextCell();
+ cell.Command = cmd;
+ cell.OnTapped();
+
+ Assert.IsTrue (executed, "Command was not executed");
+ }
+
+ [Test]
+ public void TestCommandParameter()
+ {
+ bool executed = false;
+
+ object obj = new object();
+ var cmd = new Command (p => {
+ Assert.AreSame (obj, p);
+ executed = true;
+ });
+
+ var cell = new TextCell {
+ Command = cmd,
+ CommandParameter = obj
+ };
+
+ cell.OnTapped();
+
+ Assert.IsTrue (executed, "Command was not executed");
+ }
+
+ [Test]
+ public void TestCommandCanExecute()
+ {
+ bool tested = false;
+
+ var cmd = new Command (() => { },
+ canExecute: () => {
+ tested = true;
+ return true;
+ });
+
+ new TextCell { Command = cmd };
+ Assert.IsTrue (tested, "Command.CanExecute was not called");
+ }
+
+ [Test]
+ public void TestCommandCanExecuteDisables()
+ {
+ var cmd = new Command (() => { }, () => false);
+ var cell = new TextCell { Command = cmd };
+ Assert.IsFalse (cell.IsEnabled, "Cell was not disabled");
+ }
+
+ [Test]
+ public void TestCommandCanExecuteChanged()
+ {
+ bool first = true;
+ var cmd = new Command (() => { }, () => {
+ if (first) {
+ first = false;
+ return false;
+ } else {
+ return true;
+ }
+ });
+
+ var cell = new TextCell { Command = cmd };
+ Assert.IsFalse (cell.IsEnabled, "Cell was not disabled");
+
+ cmd.ChangeCanExecute();
+
+ Assert.IsTrue (cell.IsEnabled, "Cell was not reenabled");
+ }
+
+ [Test]
+ public void Create ()
+ {
+ var template = new DataTemplate (typeof (TextCell));
+ var content = template.CreateContent ();
+
+ Assert.IsNotNull (content);
+ Assert.That (content, Is.InstanceOf<TextCell> ());
+ }
+
+ [Test]
+ public void Detail ()
+ {
+ var template = new DataTemplate (typeof (TextCell));
+ template.SetValue (TextCell.DetailProperty, "detail");
+
+ TextCell cell = (TextCell)template.CreateContent ();
+ Assert.That (cell.Detail, Is.EqualTo ("detail"));
+ }
+
+ [Test]
+ public void Text ()
+ {
+ var template = new DataTemplate (typeof (TextCell));
+ template.SetValue (TextCell.TextProperty, "text");
+
+ TextCell cell = (TextCell)template.CreateContent ();
+ Assert.That (cell.Text, Is.EqualTo ("text"));
+ }
+ }
+}