Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ValueInfoTests.cs « Xamarin.PropertyEditing.Tests - github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c2fe28bea4f851e0e069c23734b71dce23a13735 (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
63
64
65
66
67
68
69
70
using NUnit.Framework;

namespace Xamarin.PropertyEditing.Tests
{
	[TestFixture]
	internal class ValueInfoTests
	{
		[Test]
		public void ValueEquatable ()
		{
			var left = new ValueInfo<int> { Value = 5 };
			var right = new ValueInfo<int> { Value = 5 };

			AssertEqual (left, right);
		}

		[Test]
		public void SourceEquatable ()
		{
			var left = new ValueInfo<int> { Source = ValueSource.Binding };
			var right = new ValueInfo<int> { Source = ValueSource.Binding };

			AssertEqual (left, right);
		}

		[Test]
		public void DescriptorEquatable ()
		{
			string description = "monkeys";
			var left = new ValueInfo<int> { ValueDescriptor = description };
			var right = new ValueInfo<int> { ValueDescriptor = description };

			AssertEqual (left, right);
		}

		[Test]
		public void ValueButNotSourceUnequal ()
		{
			var left = new ValueInfo<int> {
				Value = 5,
				Source = ValueSource.Local
			};

			var right = new ValueInfo<int> {
				Value = 5,
				Source = ValueSource.Binding
			};

			AssertNotEqual (left, right);
		}

		private void AssertNotEqual<T> (ValueInfo<T> left, ValueInfo<T> right)
		{
			Assert.That (left, Is.Not.EqualTo (right));
			Assert.That (left != right);

			if (left != null)
				Assert.That (left.GetHashCode (), Is.Not.EqualTo (right.GetHashCode ()));
		}

		private void AssertEqual<T> (ValueInfo<T> left, ValueInfo<T> right)
		{
			Assert.That (left, Is.EqualTo (right));
			Assert.That (left == right);

			if (left != null)
				Assert.That (left.GetHashCode (), Is.EqualTo (right.GetHashCode ()));
		}
	}
}