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());
}
}
}
|