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
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity.Config
{
using System.Data.Common;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.Resources;
using System.Data.SqlClient;
using Moq;
using Xunit;
public class InvariantNameResolverTests
{
[Fact]
public void GetService_returns_null_for_non_IProviderInvariantName_types()
{
Assert.Null(new InvariantNameResolver(new Mock<DbProviderFactory>().Object, "920.FTW").GetService<Random>());
}
[Fact]
public void GetService_throws_for_null_or_incorrect_key_type()
{
Assert.Equal(
Strings.DbProviderFactoryNotPassedToResolver,
Assert.Throws<ArgumentException>(
() => new InvariantNameResolver(new Mock<DbProviderFactory>().Object, "920.FTW")
.GetService<IProviderInvariantName>(null)).Message);
Assert.Equal(
Strings.DbProviderFactoryNotPassedToResolver,
Assert.Throws<ArgumentException>(
() => new InvariantNameResolver(new Mock<DbProviderFactory>().Object, "920.FTW")
.GetService<IProviderInvariantName>("Oh No!")).Message);
}
[Fact]
public void GetService_returns_the_invariant_name_registered_for_the_given_DbProviderFactory()
{
var factory = new Mock<DbProviderFactory>().Object;
Assert.Equal(
"920.FTW",
new InvariantNameResolver(factory, "920.FTW").GetService<IProviderInvariantName>(factory).Name);
}
[Fact]
public void GetService_returns_null_for_a_different_DbProviderFactory()
{
Assert.Null(
new InvariantNameResolver(new Mock<DbProviderFactory>().Object, "920.FTW")
.GetService<IProviderInvariantName>(SqlClientFactory.Instance));
}
}
}
|