private object CreateFake <T> (FakeBaseAttribute attribute)
        {
            if (attribute is FakedAttribute)
            {
                return(A.Fake <T>());
            }
            if (attribute is DummyAttribute)
            {
                return(A.Dummy <T>());
            }

            throw new Exception($"Attribute {attribute.GetType().Name} is not known for fake creation.");
        }
        private void CreateAndAssignFake(object suite, FakeBaseAttribute attribute, FieldInfo field)
        {
            var fake = this.InvokeGenericMethod("CreateFake", new object[] { attribute }, new[] { field.FieldType });

            field.SetValue(suite, fake);
        }