public abstract class BaseFoo
public BaseFoo(string name)
public string Name { get; set; }
public class Foo : BaseFoo
public Foo(string name) : base(name) {}
public BaseFoo Foo { get; set; }
public static void Main()
var baaFaker = new AutoFaker<Baa>();
var baa = baaFaker.Generate();
Console.WriteLine("baa generated!");
Console.WriteLine(" **** FAILED to set abstract property to null");