There is a way to do what you ask, but it requires less known API settings: Register.
Register - factory . AutoFixture .
Register , factory , . . :
Register<T>(Func<T> factory) factoryRegister<T1, T>(Func<T1, T> factory) T1 TRegister<T1, T2, T>(Func<T1, T2, T> factory) T1 T2 T
, Car Plane CarId PlanId Id:
[Fact]
public void Test()
{
var fixture = new Fixture();
fixture.Register<CarId, Car>(id =>
{
var resource = new Car { Id = id };
return resource;
});
fixture.Register<PlaneId, Plane>(id =>
{
var resource = new Plane { Id = id };
return resource;
});
Assert.NotSame(fixture.Create<Car>().Id, fixture.Create<Car>().Id);
Assert.NotSame(fixture.Create<Plane>().Id, fixture.Create<Plane>().Id);
}
, CarId PlanId, factory, AutoFixture, .