Example #1
0
        private static object GenerateCollection(Type collectionType, int size, Dictionary <Type, object> createdObjectReferences)
        {
            Type type = collectionType.IsGenericType ?
                        collectionType.GetGenericArguments()[0] :
                        typeof(object);
            object          result             = Activator.CreateInstance(collectionType);
            MethodInfo      addMethod          = collectionType.GetMethod("Add");
            bool            areAllElementsNull = true;
            ObjectGenerator objectGenerator    = new ObjectGenerator();

            for (int i = 0; i < size; i++)
            {
                object element = objectGenerator.GenerateObject(type, createdObjectReferences);
                addMethod.Invoke(result, new object[] { element });
                areAllElementsNull &= element == null;
            }

            if (areAllElementsNull)
            {
                return(null);
            }

            return(result);
        }