Skip to content

Instantly share code, notes, and snippets.

@b0urb4k1
Last active June 1, 2021 18:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save b0urb4k1/69235cdcbee3192dd4e8cfa0ca2b3d75 to your computer and use it in GitHub Desktop.
Save b0urb4k1/69235cdcbee3192dd4e8cfa0ca2b3d75 to your computer and use it in GitHub Desktop.
using System;
using System.Reflection;
using FakeItEasy;
namespace test
{
public class DummySettingsFactory : DummyFactory<ISettings>
{
static ISettings settings = new TestSettings();
protected override ISettings Create() => settings;
}
public class DummyFileProviderFactory : DummyFactory<FileProvider>
{
static FileProvider fileProvider = A.Dummy<TestFileProvider>();
protected override FileProvider Create() => fileProvider;
}
public interface ISettings
{}
public class RealSettings : ISettings
{
public RealSettings()
{
Console.WriteLine("ctor RealSettings");
}
}
public class TestSettings : ISettings
{
public TestSettings()
{
Console.WriteLine("ctor TestSettings");
}
}
public class FileProvider
{
public FileProvider(string basePath, ISettings settings)
{
// create some directories here
}
}
public class TestFileProvider : FileProvider
{
public TestFileProvider(ISettings settings)
: base(Assembly.GetExecutingAssembly().Location, settings)
{
}
}
public class ApplicationModule
{
public ApplicationModule(FileProvider fileProvider)
{}
}
class Program
{
static void Main(string[] args)
{
var app = A.Fake<ApplicationModule>();
Console.WriteLine("Hello World!");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment