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

90 lines
3.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.Internal
{
using Xunit;
public class DefaultModelCacheKeyTests : TestBase
{
[Fact]
public void Equals_when_parts_equal_should_return_true()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
Assert.Equal(defaultModelCacheKey1, defaultModelCacheKey2);
}
[Fact]
public void GetHashCode_when_parts_equal_should_return_same_value()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
Assert.Equal(defaultModelCacheKey1.GetHashCode(), defaultModelCacheKey2.GetHashCode());
}
[Fact]
public void Equals_when_types_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext2), "Foo", "dbo");
Assert.NotEqual(defaultModelCacheKey1, defaultModelCacheKey2);
}
[Fact]
public void GetHashCode_when_types_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext2), "Foo", "dbo");
Assert.NotEqual(defaultModelCacheKey1.GetHashCode(), defaultModelCacheKey2.GetHashCode());
}
[Fact]
public void Equals_when_providers_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Bar", "dbo");
Assert.NotEqual(defaultModelCacheKey1, defaultModelCacheKey2);
}
[Fact]
public void GetHashCode_when_providers_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Bar", "dbo");
Assert.NotEqual(defaultModelCacheKey1.GetHashCode(), defaultModelCacheKey2.GetHashCode());
}
[Fact]
public void Equals_when_schema_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "bar");
Assert.NotEqual(defaultModelCacheKey1, defaultModelCacheKey2);
}
[Fact]
public void GetHashCode_when_schema_not_equal_should_return_false()
{
var defaultModelCacheKey1 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "dbo");
var defaultModelCacheKey2 = new DefaultModelCacheKey(typeof(CacheKeyContext1), "Foo", "bar");
Assert.NotEqual(defaultModelCacheKey1.GetHashCode(), defaultModelCacheKey2.GetHashCode());
}
private class CacheKeyContext1 : DbContext
{
}
private class CacheKeyContext2 : DbContext
{
}
}
}