internal CSharpCodeTestDataGenerator(CSharpTestDataGeneratorSetup cfg)
        {
            _cfg = cfg;
            _usings.Add(typeof(String).Namespace);
            _usings.Add(typeof(IEnumerable).Namespace);
            _usings.Add(typeof(IEnumerable <>).Namespace);
            _usings.Add(typeof(ITestDataRecord <>).Namespace);
            var collectionStrategies1 = cfg._collectionStrategies ?? new CollectionStrategies();

            _tgr = new TypeGeneratorRepository(_hijack, collectionStrategies1);
            cfg._hijackConfig?.Invoke(_hijack);
        }
        internal static CSharpTestDataGeneratorSetup Create(string className, string ns)
        {
            if (string.IsNullOrEmpty(className))
            {
                throw new ArgumentNullException(nameof(className));
            }
            if (string.IsNullOrEmpty(ns))
            {
                throw new ArgumentNullException(nameof(ns));
            }

            var r = new CSharpTestDataGeneratorSetup();

            r._className = className;
            r._namespace = ns;
            return(r);
        }