Update project

This commit is contained in:
Kacper Donat 2021-04-06 18:04:43 +02:00
parent 1ed7b433db
commit 9babda3154
39 changed files with 26713 additions and 35 deletions

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
@ -11,12 +12,39 @@
</providers>
</entityFramework>
<connectionStrings>
<!--<add name="Blog"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=d:\temp\blog-test.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
providerName="System.Data.SqlClient" />-->
<add name="Blog" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=d:\temp\blog-test.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="Blog" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Kacper\Downloads\Blog2021\BlogCode\Blog.DAL.Tests\Database1.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.15.5.0" newVersion="3.15.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BoDi" publicKeyToken="ff7cd5ea2744b496" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\NUnit3TestAdapter.3.17.0\build\net35\NUnit3TestAdapter.props" Condition="Exists('..\packages\NUnit3TestAdapter.3.17.0\build\net35\NUnit3TestAdapter.props')" />
<Import Project="..\packages\NUnit.3.13.1\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.1\build\NUnit.props')" />
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@ -11,10 +14,12 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Blog.DAL.Tests</RootNamespace>
<AssemblyName>Blog.DAL.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -37,28 +42,30 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.13.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.13.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="TDD.DbTestHelpers">
<HintPath>..\DbTestHelpers\TDD.DbTestHelpers.dll</HintPath>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="YamlDotNet, Version=9.0.0.0, Culture=neutral, PublicKeyToken=ec19458f3c15af5e, processorArchitecture=MSIL">
<HintPath>..\packages\YamlDotNet.9.1.4\lib\net45\YamlDotNet.dll</HintPath>
</Reference>
<Reference Include="YamlDotNet.Core">
<HintPath>..\DbTestHelpers\YamlDotNet.Core.dll</HintPath>
<HintPath>..\packages\YamlDotNet.Core.1.1.15\lib\YamlDotNet.Core.dll</HintPath>
</Reference>
<Reference Include="YamlDotNet.RepresentationModel">
<HintPath>..\DbTestHelpers\YamlDotNet.RepresentationModel.dll</HintPath>
<HintPath>..\packages\YamlDotNet.RepresentationModel.1.1.15\lib\YamlDotNet.RepresentationModel.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@ -67,6 +74,8 @@
</CodeAnalysisDependentAssemblyPaths>
</ItemGroup>
<ItemGroup>
<Compile Include="BlogFixtures.cs" />
<Compile Include="BlogFixturesModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RepositoryTests.cs" />
</ItemGroup>
@ -75,15 +84,36 @@
<Project>{11A34EBA-0C94-44C4-9C53-1542F18EEFD2}</Project>
<Name>Blog.DAL</Name>
</ProjectReference>
<ProjectReference Include="..\TDD.DbTestHelpers\TDD.DbTestHelpers.csproj">
<Project>{2a81d3c2-96dc-42a0-940f-10e58c6396ce}</Project>
<Name>TDD.DbTestHelpers</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
<None Include="Fixtures\posts.yaml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Content Include="Database1.mdf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Ten projekt zawiera odwołania do pakietów NuGet, których nie ma na tym komputerze. Użyj przywracania pakietów NuGet, aby je pobrać. Aby uzyskać więcej informacji, zobacz http://go.microsoft.com/fwlink/?LinkID=322105. Brakujący plik: {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\NUnit.3.13.1\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.1\build\NUnit.props'))" />
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.3.17.0\build\net35\NUnit3TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.3.17.0\build\net35\NUnit3TestAdapter.props'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -0,0 +1,15 @@
using TDD.DbTestHelpers.Yaml;
using Blog.DAL.Infrastructure;
namespace Blog.DAL.Tests
{
public class BlogFixtures : YamlDbFixture<BlogContext, BlogFixturesModel>
{
public BlogFixtures()
{
SetYamlFiles("posts.yaml");
SetYamlFolderName(@"C:\Users\Kacper\Downloads\Blog2021\BlogCode\Blog.DAL.Tests\bin\Debug\Fixtures");
RefillBeforeEachTest = true;
}
}
}

View File

@ -0,0 +1,11 @@
using TDD.DbTestHelpers.Yaml;
using Blog.DAL.Model;
namespace Blog.DAL.Tests
{
public class BlogFixturesModel
{
public FixtureTable<Post> Posts { get; set; }
public FixtureTable<Comment> Comments { get; set; }
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
Posts:
test:
Id: 1
Author: kacper
Content: testowy
second:
Id: 2
Author: kacper
Content: inny
Comments:
to-test:
Author: Ktos
Content: lol
PostId: 1

View File

@ -6,25 +6,90 @@ using System.Reflection;
using Blog.DAL.Infrastructure;
using Blog.DAL.Model;
using Blog.DAL.Repository;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;
using TDD.DbTestHelpers.Yaml;
using TDD.DbTestHelpers.Core;
using NUnit.Framework;
namespace Blog.DAL.Tests
{
[TestClass]
public class RepositoryTests
[TestFixture]
public class RepositoryTests// : DbBaseTest<BlogFixtures>
{
[TestMethod]
public void GetAllPost_OnePostInDb_ReturnOnePost()
[Test]
public void GetAllPost_OnePostInDb_ReturnTwoPosts()
{
// arrange
var context = new BlogContext();
context.Database.CreateIfNotExists();
var repository = new BlogRepository();
context.Posts.ToList().ForEach(x => context.Posts.Remove(x));
context.Posts.Add(new Post { Author = "me", Content = "lorem ipsum" });
context.SaveChanges();
// act
var result = repository.GetAllPosts();
// assert
Assert.AreEqual(1, result.Count());
}
[Test]
public void AddInvalidPost_TwoPostsInDb_ReturnThreePosts()
{
// arrange
var context = new BlogContext();
context.Database.CreateIfNotExists();
var repository = new BlogRepository();
// act
Assert.Throws<System.Data.Entity.Validation.DbEntityValidationException>(() => { repository.add(new Post { Author = null, Content = "lorem ipsum" }); });
}
[Test]
public void AddPost_TwoPostsInDb_ReturnThreePosts()
{
// arrange
var context = new BlogContext();
context.Database.CreateIfNotExists();
var repository = new BlogRepository();
// act
var post = repository.add(new Post { Id = 3, Author = "me", Content = "lorem ipsum" });
var result = repository.GetAllPosts();
// assert
Assert.AreEqual(3, result.Count());
}
[Test]
public void GetComments_TwoPostsInDbWithOneComment_ReturnValidCount()
{
// arrange
var context = new BlogContext();
context.Database.CreateIfNotExists();
var repository = new CommentRepository();
// assert
Assert.AreEqual(1, repository.GetAllCommentsOf(1).Count());
Assert.AreEqual(0, repository.GetAllCommentsOf(2).Count());
}
[Test]
public void AddComments_TwoPostsInDbWithOneComment_ReturnValidCount()
{
// arrange
var context = new BlogContext();
context.Database.CreateIfNotExists();
var repository = new CommentRepository();
repository.add(new Comment { PostId = 2, Author = "Test", Content = "Lorem ipsum" });
// assert
Assert.AreEqual(1, repository.GetAllCommentsOf(1).Count());
Assert.AreEqual(1, repository.GetAllCommentsOf(2).Count());
}
}
}

View File

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net451" />
<package id="EntityFramework" version="6.4.4" targetFramework="net48" />
<package id="NUnit" version="3.13.1" targetFramework="net48" />
<package id="NUnit3TestAdapter" version="3.17.0" targetFramework="net48" />
<package id="YamlDotNet" version="9.1.4" targetFramework="net48" />
</packages>

BIN
Blog.DAL.Tests/test_log.ldf Normal file

Binary file not shown.

View File

@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Blog.DAL</RootNamespace>
<AssemblyName>Blog.DAL</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@ -35,12 +35,10 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.2.0\lib\net40\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.2.0\lib\net40\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
@ -53,8 +51,10 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Infrastructure\BlogContext.cs" />
<Compile Include="Model\Comment.cs" />
<Compile Include="Model\Post.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repository\CommentRepository.cs" />
<Compile Include="Repository\BlogRepository.cs" />
</ItemGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@ namespace Blog.DAL.Infrastructure
public class BlogContext : DbContext
{
public IDbSet<Post> Posts { get; set; }
public IDbSet<Comment> Comments { get; set; }
public BlogContext() : base("Blog")
{

19
Blog.DAL/Model/Comment.cs Normal file
View File

@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace Blog.DAL.Model
{
public class Comment
{
[Key]
public long Id { get; set; }
[Required]
public long PostId { get; set; }
[Required]
public string Content { get; set; }
[Required]
public string Author { get; set; }
}
}

View File

@ -7,8 +7,10 @@ namespace Blog.DAL.Model
[Key]
public long Id { get; set; }
[Required]
public string Content { get; set; }
[Required]
public string Author { get; set; }
}
}

View File

@ -18,5 +18,13 @@ namespace Blog.DAL.Repository
{
return _context.Posts;
}
public Post add(Post post)
{
post = _context.Posts.Add(post);
_context.SaveChanges();
return post;
}
}
}

View File

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Blog.DAL.Infrastructure;
using Blog.DAL.Model;
using System;
using System.Linq;
namespace Blog.DAL.Repository
{
public class CommentRepository
{
private readonly BlogContext _context;
public CommentRepository()
{
_context = new BlogContext();
}
public IEnumerable<Comment> GetAllCommentsOf(long postId)
{
return _context.Comments.Where(c => c.PostId == postId);
}
public Comment add(Comment comment)
{
_context.Comments.Add(comment);
_context.SaveChanges();
return comment;
}
}
}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net451" />
<package id="EntityFramework" version="6.2.0" targetFramework="net40" />
</packages>

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio 15
VisualStudioVersion = 15.0.28307.168
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blog.DAL", "Blog.DAL\Blog.DAL.csproj", "{11A34EBA-0C94-44C4-9C53-1542F18EEFD2}"
EndProject
@ -14,6 +14,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TDD.DbTestHelpers", "TDD.DbTestHelpers\TDD.DbTestHelpers.csproj", "{2A81D3C2-96DC-42A0-940F-10E58C6396CE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -33,10 +35,19 @@ Global
{C97FBBD5-7EAE-40A3-B748-729749FB73E2}.Release|Any CPU.Build.0 = Release|Any CPU
{C97FBBD5-7EAE-40A3-B748-729749FB73E2}.TeamCity|Any CPU.ActiveCfg = Release|Any CPU
{C97FBBD5-7EAE-40A3-B748-729749FB73E2}.TeamCity|Any CPU.Build.0 = Release|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.Release|Any CPU.Build.0 = Release|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.TeamCity|Any CPU.ActiveCfg = TeamCity|Any CPU
{2A81D3C2-96DC-42A0-940F-10E58C6396CE}.TeamCity|Any CPU.Build.0 = TeamCity|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {38F6037D-4DEF-4E7D-BEDC-71374F5804A6}
EndGlobalSection
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = Blog.vsmdi
EndGlobalSection

6
Blog.vsmdi Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
<RunConfiguration id="31046817-227f-4161-9a97-5d34efa999fb" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestList>
</TestLists>

10
Local.testsettings Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Local" id="31046817-227f-4161-9a97-5d34efa999fb" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Deployment enabled="false" />
<Execution>
<TestTypeSpecific />
<AgentRule name="Execution Agents">
</AgentRule>
</Execution>
</TestSettings>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.15.5.0" newVersion="3.15.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BoDi" publicKeyToken="ff7cd5ea2744b496" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup></configuration>

View File

@ -0,0 +1,45 @@
using System.Transactions;
using NUnit.Framework;
namespace TDD.DbTestHelpers.Core
{
public class DbBaseTest<TFixture> where TFixture : IDbFixture, new()
{
private readonly TFixture _fixture;
private TransactionScope _transaction;
protected DbBaseTest()
{
_fixture = new TFixture();
}
[SetUp]
public void BaseSetUp()
{
if (_fixture.RefillBeforeEachTest)
{
ApplyFixtures();
}
if (_fixture.UseTransactionScope)
{
_transaction = new TransactionScope(TransactionScopeOption.RequiresNew);
}
}
[TearDown]
public void BaseTearDown()
{
if (_fixture.UseTransactionScope)
{
_transaction.Dispose();
}
}
private void ApplyFixtures()
{
_fixture.PrepareDatabase();
_fixture.FillFixtures();
}
}
}

View File

@ -0,0 +1,26 @@
using System.Data.Entity;
namespace TDD.DbTestHelpers.Core
{
public abstract class DbFixture<TContext> : IDbFixture where TContext : DbContext, new()
{
protected readonly TContext Context;
public DbContext GetContext
{
get { return Context; }
}
protected DbFixture()
{
RefillBeforeEachTest = false;
UseTransactionScope = false;
Context = new TContext();
}
public bool UseTransactionScope { get; protected set; }
public bool RefillBeforeEachTest { get; protected set; }
public abstract void PrepareDatabase();
public abstract void FillFixtures();
}
}

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
namespace TDD.DbTestHelpers.EF
{
public static class EfExtensions
{
public static void ClearTable<TEntity>(this DbSet<TEntity> table) where TEntity : class
{
foreach (var entity in table)
{
table.Remove(entity);
}
}
}
}

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
namespace TDD.DbTestHelpers.EF
{
public static class Extensions
{
public static void ClearTable<TEntity>(this DbSet<TEntity> table) where TEntity : class
{
foreach (var entity in table)
{
table.Remove(entity);
}
}
}
}

Binary file not shown.

View File

@ -0,0 +1,352 @@
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType0`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType1`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType2`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType3`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType4`3: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType5`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType6`4: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType7`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType8`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType9`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <>f__AnonymousType10`2: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for ThisAssembly: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.DateTimeExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.FeatureContext: type has no family visible contructors.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.HookAttribute: type has no family visible contructors.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.TestRunnerDefaultArguments: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ProgrammingLanguage: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ScenarioBlock: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ScenarioContext: type has no family visible contructors.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ScenarioExecutionStatus: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ScenarioStepContext: type has no family visible contructors.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.StringExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.TableRow: type has no family visible contructors.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.VersionInfo: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.UnitTestProvider.UnitTestRuntimeProviderHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Tracing.CodeFormattingExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Tracing.LanguageHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Tracing.StepFormatter: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Tracing.TraceListenerHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Plugins.PluginType: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Plugins.RuntimePluginLocator: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Compatibility.CultureInfoHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Compatibility.EnumHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Compatibility.TypeHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Compatibility.ExceptionHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Compatibility.MonoHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Infrastructure.ContextManagerExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Infrastructure.StepDefinitionAmbiguityReason: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.ErrorHandling.ErrorProvider: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.CucumberMessages.ULongExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Configuration.ConfigDefaults: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Configuration.MissingOrPendingStepsOutcome: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Configuration.ObsoleteBehavior: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Configuration.ConfigSource: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.CommonModels.Result: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.CommonModels.Result`1: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.AsyncHelpers: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.ExpressionMemberAccessor: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.HookType: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.RegexFactory: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.StepDefinitionKeyword: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.StepDefinitionType: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.BindingTypeHelper: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Bindings.Reflection.BindingReflectionExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.BindingSkeletons.Keywords: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.BindingSkeletons.ParameterNameExtensions: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonStyle: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.FindInSetExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.FormattingTableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.TableHelpers: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.PivotTable: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.ProjectionExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.PropertyExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.RowExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.SafetyTableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.SetComparisonExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.SpecFlowDefaultValueRetrieverList: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.TableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.TableHelperExtensionMethods: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.TEHelpers: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.ValueHolder`1: type is a value type.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Assist.ValueHolder: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for TechTalk.SpecFlow.Analytics.AppInsights.AppInsightsInstrumentationKey: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate stub for <PrivateImplementationDetails>: type is sealed.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType0`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType1`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType2`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType3`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType4`3: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType5`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType6`4: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType7`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType8`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType9`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <>f__AnonymousType10`2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for ThisAssembly: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.DateTimeExtensions: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ITestRunner: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ProgrammingLanguage: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ScenarioBlock: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ScenarioExecutionStatus: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.StringExtensions: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Table+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.TableRow+<GetEnumerator>d__10: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ITestRunnerManager: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.VersionInfo: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.UnitTestProvider.IUnitTestRuntimeProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.UnitTestProvider.UnitTestRuntimeProviderHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.CodeFormattingExtensions+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.IThreadSafeTraceListener: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.ITraceListener: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.ITraceListenerQueue: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.LanguageHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.IStepFormatter: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.StepFormatter: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.ITestTracer: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.TestTracer+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Tracing.TraceListenerQueue+TraceMessage: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Time.IClock: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.TestFramework.ITestRunContext: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.IRuntimePlugin: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.IRuntimePluginLoader: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.IRuntimePluginLocationMerger: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.IRuntimePluginLocator: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.ISpecFlowPath: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.PluginType: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.RuntimePluginLocationMerger+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Plugins.RuntimePluginLocator: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Compatibility.CultureInfoHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Compatibility.EnumHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Compatibility.TypeHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Compatibility.ExceptionHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Compatibility.MonoHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IContainerBuilder: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ContainerBuilder+<>c__DisplayClass5_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ContainerBuilder+<>c__DisplayClass6_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ContextManager+InternalContextManager`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ContextManager+StackedInternalContextManager`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ContextManagerExtensions: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IBindingAssemblyLoader: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IContainerDependentObject: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IContextManager: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IDefaultDependencyProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IObsoleteStepHandler: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ISkippedStepHandler: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ISpecFlowOutputHelper: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IStepErrorHandler: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ITestExecutionEngine: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ITestObjectResolver: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.ITestRunnerFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.StepDefinitionAmbiguityReason: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.IStepDefinitionMatchService: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.StepDefinitionMatchService+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.StepDefinitionMatchService+<>c__DisplayClass10_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.StepDefinitionMatchService+<>c__DisplayClass12_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.StepDefinitionMatchService+<>c__DisplayClass7_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.TestExecutionEngine+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.TestExecutionEngine+<>c__DisplayClass47_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.TestExecutionEngine+<>c__DisplayClass53_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Infrastructure.TestExecutionEngine+<>c__DisplayClass59_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.FileAccess.IBinaryFileAccessor: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ErrorHandling.IErrorProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.ErrorHandling.ErrorProvider: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.EnvironmentAccess.IEnvironmentWrapper: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ICucumberMessageFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ICucumberMessageSender: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ICucumberMessageSink: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.IFieldValueProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.IPickleIdGenerator: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.IPickleIdStore: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.IPickleIdStoreDictionaryFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.IPlatformFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ISpecFlowVersionInformationProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ISystemInformationProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestAmbiguousMessageFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestErrorMessageFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestPendingMessageFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestResultFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestResultPartsFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestRunResultCollector: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestRunResultSuccessCalculator: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ITestUndefinedMessageFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ISinkProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.TestPendingMessageFactory+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.ULongExtensions: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.TestRunResultCollector+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.Sinks.IProtobufFileNameResolver: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CucumberMessages.Sinks.IProtobufFileSinkOutput: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.IConfigurationLoader: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.IRuntimeConfigurationProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.ISpecFlowConfigurationHolder: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.MissingOrPendingStepsOutcome: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.ObsoleteBehavior: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.ConfigSource: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.AppConfig.AppConfigConfigurationLoader+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.AppConfig.GeneratorConfigElement+TagCollection+<System-Collections-Generic-IEnumerable<TechTalk-SpecFlow-Configuration-AppConfig-GeneratorConfigElement-TagElement>-GetEnumerator>d__2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Configuration.AppConfig.PluginCollection+<System-Collections-Generic-IEnumerable<TechTalk-SpecFlow-Configuration-AppConfig-PluginConfigElement>-GetEnumerator>d__2: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.IFailure: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.IFailure`1: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.IResult: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.IResult`1: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.ISuccess: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.CommonModels.ISuccess`1: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.AsyncHelpers+<>c__DisplayClass0_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.AsyncHelpers+<>c__DisplayClass1_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.AsyncHelpers+ExclusiveSynchronizationContext: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.AsyncHelpers+SetSynchronizationContext: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`10: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`11: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`12: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`13: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`14: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`15: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`16: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`17: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`18: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`19: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`20: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`5: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`6: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`7: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`8: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedAction`9: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`10: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`11: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`12: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`13: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`14: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`15: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`16: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`17: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`18: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`19: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`20: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`21: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`6: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`7: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`8: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingInvoker+ExtendedFunc`9: type is a delegate.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IBindingRegistry: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingRegistry+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingRegistry+<>c__DisplayClass8_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.ExpressionMemberAccessor: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.HookType: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IBindingFactory: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IBindingInvoker: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IHookBinding: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IScopedBinding: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IStepArgumentTransformationBinding: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IStepDefinitionBinding: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IBinding: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.RegexFactory: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IStepArgumentTypeConverter: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepArgumentTypeConverter+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepArgumentTypeConverter+<>c__DisplayClass5_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepArgumentTypeConverter+<>c__DisplayClass8_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionKeyword: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.IStepDefinitionRegexCalculator: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionRegexCalculator+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionRegexCalculator+<>c__DisplayClass3_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionRegexCalculator+<GetPrefixesToRemove>d__5: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionRegexCalculator+ParamSearchResult: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.StepDefinitionType: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.BindingTypeHelper: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.ISynchronousBindingDelegateInvoker: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.SynchronousBindingDelegateInvoker+<>c__DisplayClass2_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.BindingReflectionExtensions+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.BindingReflectionExtensions+<>c__DisplayClass1_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.BindingReflectionExtensions+<>c__DisplayClass7_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.IBindingMethod: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.IBindingParameter: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.IBindingType: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.IPolymorphicBindingType: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Reflection.RuntimeBindingMethod+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.BindingSourceProcessor+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.BindingSourceProcessor+<>c__DisplayClass20_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.BindingSourceProcessor+<>c__DisplayClass21_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.IBindingSourceAttributeValueProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.IBindingSourceProcessor: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.IRuntimeBindingRegistryBuilder: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.ISpecFlowAttributesFilter: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.RuntimeBindingRegistryBuilder+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.RuntimeBindingRegistryBuilder+<>c__DisplayClass9_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.IRuntimeBindingSourceProcessor: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Bindings.Discovery.SpecFlowAttributesFilter+<>c__DisplayClass1_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.FileBasedSkeletonTemplateProvider+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.ISkeletonTemplateProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.IStepDefinitionSkeletonProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider+<>c__DisplayClass16_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider+<>c__DisplayClass4_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider+<>c__DisplayClass6_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonStyle: type is an enum.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.IStepTextAnalyzer: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.BindingSkeletons.StepTextAnalyzer+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.FindInSetExtensionMethods+<>c__DisplayClass0_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.FindInSetExtensionMethods+<>c__DisplayClass1_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.FindInSetExtensionMethods+<>c__DisplayClass2_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.FormattingTableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c__6`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c__DisplayClass14_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c__DisplayClass5_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c__DisplayClass6_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+<>c__DisplayClass8_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+Difference: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+PropertyDiffers: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.InstanceComparisonExtensionMethods+PropertyDoesNotExist: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.IValueComparer: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.IValueRetriever: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.PivotTable: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.PropertyExtensionMethods: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.RowExtensionMethods+<>c__13`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.RowExtensionMethods+<>c__DisplayClass13_0`1: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.RowExtensionMethods+<>c__DisplayClass21_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.SafetyTableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.SetComparer`1+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.SetComparer`1+<>c__DisplayClass12_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.SpecFlowDefaultValueRetrieverList: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ITableDiffExceptionBuilder`1: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.TableDiffExceptionBuilder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.TEHelpers: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueHolder`1: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueHolder: type is not visible to exported or assembly(TechTalk.SpecFlow.Fakes).
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.EnumerableValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.EnumerableValueRetriever+<>c__DisplayClass2_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.EnumerableValueRetriever+<>c__DisplayClass5_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.ListValueRetriever+<>c__DisplayClass1_0: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableBoolValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableByteValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableCharValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableDateTimeOffsetValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableDateTimeValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableDecimalValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableDoubleValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableFloatValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableGuidValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableIntValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableLongValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableSByteValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableShortValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableTimeSpanValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableUIntValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableULongValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Assist.ValueRetrievers.NullableUShortValueRetriever+<>c: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.AnalyticsTransmitter+<TransmitEvent>d__5: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.AnalyticsTransmitter+<TransmitSpecFlowProjectCompilingEvent>d__3: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.AnalyticsTransmitter+<TransmitSpecFlowProjectRunningEvent>d__4: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.HttpClientAnalyticsTransmitterSink+<TransmitEvent>d__4: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.HttpClientAnalyticsTransmitterSink+<TransmitEventAsync>d__5: type is not supported because of internal limitations.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.IAnalyticsEvent: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.IAnalyticsEventProvider: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.IAnalyticsTransmitter: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.IAnalyticsTransmitterSink: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.IEnvironmentSpecFlowTelemetryChecker: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.UserId.IDirectoryService: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.UserId.IFileService: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.UserId.IUserUniqueIdStore: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for TechTalk.SpecFlow.Analytics.AppInsights.IAppInsightsEventSerializer: type is an interface.
D:\goluch\BlogCode\TDD.DbTestHelpers\Fakes\TechTalk.SpecFlow.fakes : warning : Cannot generate shim for <PrivateImplementationDetails>: type is not supported because of internal limitations.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,91 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.Entity;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using TDD.DbTestHelpers.EF;
using YamlDotNet.RepresentationModel.Serialization;
namespace TDD.DbTestHelpers.Helpers
{
public class FileHelper
{
public void ClearTables<TFixtureType>(DbContext context)
{
ClearTables(typeof(TFixtureType), context);
}
public void ClearTables(Type fixtureType, DbContext context)
{
foreach (var fixtureTable in fixtureType.GetProperties())
{
var table = context.GetType().GetProperty(fixtureTable.Name);
var tableType = table.PropertyType;
var clearTableMethod = typeof (EfExtensions).GetMethod("ClearTable")
.MakeGenericMethod(tableType.GetGenericArguments());
clearTableMethod.Invoke(null, new[] {table.GetValue(context, null)});
}
context.SaveChanges();
}
public void FillFixturesFileFiles<TFixtureType>(DbContext context, string yamlFolderName, IEnumerable<string> yamlFilesNames)
{
FillFixturesFileFiles(typeof(TFixtureType), context, yamlFolderName, yamlFilesNames);
}
public void FillFixturesFileFiles(Type fixtureType, DbContext context, string yamlFolderName, IEnumerable<string> yamlFullFilesNames)
{
var fixtures = GetFixutresFromYaml(fixtureType, yamlFolderName, yamlFullFilesNames);
foreach (var fixtureTable in fixtures.GetType().GetProperties())
{
var table = fixtureTable.GetValue(fixtures, null) as IDictionary;
if (table == null) throw new Exception("Cannot read entities from table " + fixtureTable.Name);
foreach (var entity in table.Values)
{
var dbSetType = context.GetType().GetProperty(fixtureTable.Name);
if (dbSetType == null)
throw new Exception(string.Format("Cannot find table {0} in database", fixtureTable.Name));
var dbSet = dbSetType.GetValue(context, null);
var makeGenericType = typeof(DbSet<>).MakeGenericType(entity.GetType());
var methodInfo = makeGenericType.GetMethod("Add");
methodInfo.Invoke(dbSet, new[] { entity });
}
}
context.SaveChanges();
}
private object GetFixutresFromYaml(Type fixtureType, string yamlFolderName, IEnumerable<string> yamlFullFilesNames)
{
Type type = typeof(YamlSerializer<>).MakeGenericType(fixtureType);
object yamlSerializer = Activator.CreateInstance(type);
var methodInfo = yamlSerializer.GetType().GetMethod("Deserialize", new [] { typeof(TextReader )});
try
{
return methodInfo.Invoke(yamlSerializer, new [] { GetAllYamlConfiguration(yamlFullFilesNames, yamlFolderName) });
}
catch (Exception ex)
{
throw new Exception("Cannot deserialize YAML file. See inner exception.", ex);
}
}
private static TextReader GetAllYamlConfiguration(IEnumerable<string> yamlFilesNames, string yamlFolderName)
{
var sb = new StringBuilder();
foreach (var yamlFileName in yamlFilesNames)
{
var yamlPath = Path.Combine(yamlFolderName, yamlFileName);
if (!File.Exists(yamlPath))
throw new Exception(String.Format("Specified file {0} does not exist in specifiled folder {1}",
yamlFileName, yamlFolderName));
sb.AppendLine(File.ReadAllText(yamlPath));
}
return new StringReader(sb.ToString());
}
}
}

View File

@ -0,0 +1,13 @@
using System.Data.Entity;
namespace TDD.DbTestHelpers
{
public interface IDbFixture
{
void PrepareDatabase();
void FillFixtures();
bool RefillBeforeEachTest { get; }
bool UseTransactionScope { get; }
DbContext GetContext { get; }
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TDD.DbTestHelpers")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("TDD.DbTestHelpers")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("1b55f3c2-2a2b-4381-9952-514ff0b748a2")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,36 @@
using System;
using System.Data.Entity;
using System.Diagnostics;
using TDD.DbTestHelpers.Helpers;
using TechTalk.SpecFlow;
namespace TDD.DbTestHelpers.SpecFlow
{
[Binding]
public class FixtureSteps
{
public static FileHelper Helper = new FileHelper();
public static string YamlFileName = "fixtures.yaml";
public static string YamlFolderName = "Fixtures";
public static DbContext Context = null;
public static Type FixtureModel = null;
[BeforeFeature("fixture")]
static public void BeforeFixtureFeature()
{
if (FixtureModel == null)
throw new ArgumentException("FixtureSteps.FixtureModel cannot be null. Please specify fixture model");
if (Context == null)
throw new ArgumentException("FixtureSteps.Context cannot be null. Please specify db context.");
Trace.WriteLine("Prepare DB and load fixtures");
Helper.ClearTables(FixtureModel, Context);
Helper.FillFixturesFileFiles(FixtureModel, Context, YamlFolderName, new[] {YamlFileName});
}
[AfterFeature("fixture")]
static public void AfterFixtureFeature()
{
Trace.WriteLine("Clear DB");
}
}
}

View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\NUnit.3.13.1\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.1\build\NUnit.props')" />
<Import Project="..\packages\EntityFramework.6.4.0\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.0\build\EntityFramework.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{2A81D3C2-96DC-42A0-940F-10E58C6396CE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TDD.DbTestHelpers</RootNamespace>
<AssemblyName>TDD.DbTestHelpers</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'TeamCity|AnyCPU'">
<OutputPath>bin\TeamCity\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="BoDi, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ff7cd5ea2744b496, processorArchitecture=MSIL">
<HintPath>..\packages\BoDi.1.5.0\lib\net45\BoDi.dll</HintPath>
</Reference>
<Reference Include="Cucumber.Messages, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b10c5988214f940c, processorArchitecture=MSIL">
<HintPath>..\packages\Cucumber.Messages.6.0.1\lib\net45\Cucumber.Messages.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.0\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="Gherkin, Version=6.0.0.0, Culture=neutral, PublicKeyToken=86496cfa5b4a5851, processorArchitecture=MSIL">
<HintPath>..\packages\Gherkin.6.0.0\lib\net45\Gherkin.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf, Version=3.15.5.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>..\packages\Google.Protobuf.3.15.5\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
<Reference Include="Microsoft.QualityTools.Testing.Fakes, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.13.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.13.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard1.1\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard1.1\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="TechTalk.SpecFlow, Version=3.7.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41, processorArchitecture=MSIL">
<HintPath>..\packages\SpecFlow.3.7.13\lib\net461\TechTalk.SpecFlow.dll</HintPath>
</Reference>
<Reference Include="Utf8Json, Version=1.3.7.0, Culture=neutral, PublicKeyToken=8a73d3ba7e392e27, processorArchitecture=MSIL">
<HintPath>..\packages\Utf8Json.1.3.7\lib\net45\Utf8Json.dll</HintPath>
</Reference>
<Reference Include="YamlDotNet.Core">
<HintPath>..\packages\YamlDotNet.Core.1.1.15\lib\YamlDotNet.Core.dll</HintPath>
</Reference>
<Reference Include="YamlDotNet.RepresentationModel">
<HintPath>..\packages\YamlDotNet.RepresentationModel.1.1.15\lib\YamlDotNet.RepresentationModel.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Core\DbBaseTest.cs" />
<Compile Include="Core\DbFixture.cs" />
<Compile Include="EF\EfExtensions.cs" />
<Compile Include="Helpers\FileHelper.cs" />
<Compile Include="IDbFixture.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SpecFlow\FixtureSteps.cs" />
<Compile Include="Yaml\FixutreTable.cs" />
<Compile Include="Yaml\YamlDbFixture.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<Fakes Include="Fakes\TechTalk.SpecFlow.fakes" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Ten projekt zawiera odwołania do pakietów NuGet, których nie ma na tym komputerze. Użyj przywracania pakietów NuGet, aby je pobrać. Aby uzyskać więcej informacji, zobacz http://go.microsoft.com/fwlink/?LinkID=322105. Brakujący plik: {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.0\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.0\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.0\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.0\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\SpecFlow.3.7.13\build\SpecFlow.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SpecFlow.3.7.13\build\SpecFlow.targets'))" />
<Error Condition="!Exists('..\packages\NUnit.3.13.1\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.1\build\NUnit.props'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.0\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.0\build\EntityFramework.targets')" />
<Import Project="..\packages\SpecFlow.3.7.13\build\SpecFlow.targets" Condition="Exists('..\packages\SpecFlow.3.7.13\build\SpecFlow.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TDD.DbTestHelpers.Yaml
{
public class FixtureTable<TEntityType> : Dictionary<string, TEntityType>
{
}
}

View File

@ -0,0 +1,52 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.Entity;
using System.Reflection;
using System.Text;
using TDD.DbTestHelpers.Core;
using TDD.DbTestHelpers.EF;
using TDD.DbTestHelpers.Helpers;
using YamlDotNet.RepresentationModel.Serialization;
namespace TDD.DbTestHelpers.Yaml
{
public class YamlDbFixture<TContext, TFixtureType> : DbFixture<TContext> where TContext : DbContext, new()
{
private readonly FileHelper _fileHelper;
private string _yamlFolderName = "Fixtures";
private string[] _yamlFilesNames = new[] {"fixtures.yaml"};
public YamlDbFixture()
: this(new FileHelper())
{
}
public YamlDbFixture(FileHelper fileHelper)
{
_fileHelper = fileHelper;
}
public override void PrepareDatabase()
{
_fileHelper.ClearTables<TFixtureType>(Context);
}
public override void FillFixtures()
{
_fileHelper.FillFixturesFileFiles<TFixtureType>(Context, _yamlFolderName, _yamlFilesNames);
}
protected void SetYamlFolderName(string yamlFolderName)
{
_yamlFolderName = yamlFolderName;
}
protected void SetYamlFiles(params string[] yamlFiles)
{
_yamlFilesNames = yamlFiles;
}
}
}

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BoDi" version="1.5.0" targetFramework="net48" />
<package id="Cucumber.Messages" version="6.0.1" targetFramework="net45" />
<package id="EntityFramework" version="6.4.0" targetFramework="net45" />
<package id="Gherkin" version="6.0.0" targetFramework="net45" />
<package id="Google.Protobuf" version="3.15.5" targetFramework="net48" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net45" />
<package id="NUnit" version="3.13.1" targetFramework="net48" />
<package id="SpecFlow" version="3.7.13" targetFramework="net48" />
<package id="System.Buffers" version="4.5.0" targetFramework="net45" />
<package id="System.Memory" version="4.5.3" targetFramework="net45" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net45" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
<package id="System.Reflection.Emit" version="4.7.0" targetFramework="net45" />
<package id="System.Reflection.Emit.Lightweight" version="4.7.0" targetFramework="net45" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net45" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net45" />
<package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="net45" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net45" />
<package id="Utf8Json" version="1.3.7" targetFramework="net45" />
<package id="YamlDotNet.Core" version="1.1.15" />
<package id="YamlDotNet.RepresentationModel" version="1.1.15" />
</packages>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Trace and Test Impact" id="bfea7385-6ab6-4151-b635-b5880eb2de86" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are test settings for Trace and Test Impact.</Description>
<Execution>
<TestTypeSpecific />
<AgentRule name="Execution Agents">
</AgentRule>
</Execution>
</TestSettings>