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
71
72
|
using System;
using System.Collections.Generic;
using NUnit.Framework;
namespace Xamarin.Forms.Core.UnitTests
{
[TestFixture]
public class AnimatableKeyTests
{
class FakeAnimatable : IAnimatable
{
public void BatchBegin ()
{
}
public void BatchCommit ()
{
}
}
[Test]
public void KeysWithDifferentHandlesAreNotEqual ()
{
var animatable = new FakeAnimatable();
var key1 = new AnimatableKey(animatable, "handle1");
var key2 = new AnimatableKey(animatable, "handle2");
Assert.AreNotEqual (key1, key2);
}
[Test]
public void KeysWithDifferentAnimatablesAreNotEqual ()
{
var animatable1 = new FakeAnimatable();
var animatable2 = new FakeAnimatable();
var key1 = new AnimatableKey(animatable1, "handle");
var key2 = new AnimatableKey(animatable2, "handle");
Assert.AreNotEqual (key1, key2);
}
[Test]
public void KeysWithSameAnimatableAndHandleAreEqual ()
{
var animatable = new FakeAnimatable();
var key1 = new AnimatableKey(animatable, "handle");
var key2 = new AnimatableKey(animatable, "handle");
Assert.AreEqual (key1, key2);
}
[Test]
public void ThrowsWhenKeysWithSameAnimatableAdded ()
{
var animatable = new FakeAnimatable();
var key1 = new AnimatableKey(animatable, "handle");
var key2 = new AnimatableKey(animatable, "handle");
var dict = new Dictionary<AnimatableKey, object> { { key1, new object () } };
Assert.Throws<ArgumentException> (() => {
dict.Add (key2, new object ());
});
}
}
}
|