Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

69 lines
2.7 KiB
C#

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