summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/SwitchCellTests.cs
blob: 16fee76be19131b0e25f2d2d9ea1b4b9ab220ac2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using NUnit.Framework;
using NUnit.Framework.Constraints;

namespace Xamarin.Forms.Core.UnitTests
{
	[TestFixture]
	public class SwitchCellTemplateTests : BaseTestFixture
	{
		[Test]
		public void Create()
		{
			var template = new DataTemplate (typeof(SwitchCell));
			var content = template.CreateContent();

			Assert.That (content, Is.InstanceOf<SwitchCell>());
		}

		[Test]
		public void Text()
		{
			var template = new DataTemplate (typeof (SwitchCell));
			template.SetValue (SwitchCell.TextProperty, "text");			

			SwitchCell cell = (SwitchCell)template.CreateContent();
			Assert.That (cell.Text, Is.EqualTo ("text"));
		}

		[Test]
		public void On()
		{
			var template = new DataTemplate (typeof (SwitchCell));
			template.SetValue (SwitchCell.OnProperty, true);

			SwitchCell cell = (SwitchCell)template.CreateContent();
			Assert.That (cell.On, Is.EqualTo (true));
		}

		[TestCase (false, true)]
		[TestCase (true, false)]
		public void SwitchCellSwitchChangedArgs (bool initialValue, bool finalValue)
		{
			var template = new DataTemplate (typeof (SwitchCell));
			SwitchCell cell = (SwitchCell)template.CreateContent ();

			SwitchCell switchCellFromSender = null;
			bool newSwitchValue = false;

			cell.On = initialValue;

			cell.OnChanged += (s, e) => {
				switchCellFromSender = (SwitchCell)s;
				newSwitchValue = e.Value;
			};

			cell.On = finalValue;

			Assert.AreEqual (cell, switchCellFromSender);
			Assert.AreEqual (finalValue, newSwitchValue);
		}
	}
}