File: ExecutionStrategyKeyTests.cs

package info (click to toggle)
mono 3.2.8%2Bdfsg-10
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 527,964 kB
  • ctags: 623,327
  • sloc: cs: 3,938,236; xml: 1,891,753; ansic: 418,737; java: 59,920; sh: 15,754; makefile: 11,067; sql: 7,956; perl: 2,279; cpp: 1,380; yacc: 1,203; python: 594; asm: 422; sed: 16; php: 1
file content (68 lines) | stat: -rw-r--r-- 2,761 bytes parent folder | download | duplicates (2)
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
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.

namespace System.Data.Entity.Infrastructure
{
    using Xunit;

    public class ExecutionStrategyKeyTests
    {
        [Fact]
        public void Constructor_throws_on_invalid_parameters()
        {
            Assert.Throws<ArgumentException>(() => new ExecutionStrategyKey(null, ""))
                  .ValidateMessage("ArgumentIsNullOrWhitespace", "invariantProviderName");
            Assert.Throws<ArgumentException>(() => new ExecutionStrategyKey("", "b"))
                  .ValidateMessage("ArgumentIsNullOrWhitespace", "invariantProviderName");
            Assert.Throws<ArgumentException>(() => new ExecutionStrategyKey("a", null))
                  .ValidateMessage("ArgumentIsNullOrWhitespace", "dataSource");
            Assert.Throws<ArgumentException>(() => new ExecutionStrategyKey("a", ""))
                  .ValidateMessage("ArgumentIsNullOrWhitespace", "dataSource");
        }

        [Fact]
        public void Equals_returns_correct_results()
        {
            TestEquals(
                (left, right) => left.Equals(right));
        }

        private void TestEquals(Func<object, object, bool> equals)
        {
            var sameInstace = new ExecutionStrategyKey("a", "b");
            Assert.True(
                equals(
                    sameInstace,
                    sameInstace));
            Assert.True(
                equals(
                    new ExecutionStrategyKey("a", "b"),
                    new ExecutionStrategyKey("a", "b")));
            Assert.False(
                equals(
                    new ExecutionStrategyKey("a", "b1"),
                    new ExecutionStrategyKey("a", "b2")));
            Assert.False(
                equals(
                    new ExecutionStrategyKey("a1", "b"),
                    new ExecutionStrategyKey("a2", "b")));
            Assert.False(
                equals(
                    new ExecutionStrategyKey("a", "b"),
                    null));
        }

        [Fact]
        public void GetHashCode_returns_correct_results()
        {
            Assert.Equal(
                new ExecutionStrategyKey("a", "b").GetHashCode(),
                new ExecutionStrategyKey("a", "b").GetHashCode());
            Assert.NotEqual(
                new ExecutionStrategyKey("a1", "b").GetHashCode(),
                new ExecutionStrategyKey("a2", "b").GetHashCode());
            Assert.NotEqual(
                new ExecutionStrategyKey("a", "b1").GetHashCode(),
                new ExecutionStrategyKey("a", "b2").GetHashCode());
        }
    }
}