public void default_settings_generate_1000_records()
        {
            var clg  = new ContactListGenerator();
            var list = clg.Generate();

            Assert.Equal(1002, list.Split('\n').Length);
        }
        public void custom_number_of_rows_is_honored()
        {
            var clg = new ContactListGenerator();

            clg.NumberOfLinesToGenerate = 5;
            var list = clg.Generate();

            Assert.Equal(7, list.Split('\n').Length);
        }
        public void generate_list_with_custom_data()
        {
            var clg = new ContactListGenerator();

            clg.NumberOfLinesToGenerate = 5;
            var list  = clg.Generate(",UID", () => "," + Guid.NewGuid());
            var lines = list.Split('\n');

            Assert.True(lines[0].Replace("\r", "").EndsWith(",UID"));
            var lastColumn = lines[1].Split(',').Last().Replace("\r", "");

            Assert.True(Guid.TryParse(lastColumn, out _));
        }
        private static void Main(string[] args)
        {
            CommandLine.Parser.Default.ParseArguments <CommandOptions>(args)

            .WithNotParsed <CommandOptions>(errs =>
            {
                if (errs.Count() > 0)
                {
                    return;
                }
            })
            .WithParsed <CommandOptions>(opts =>
            {
                var clg = new ContactListGenerator();
                clg.NumberOfLinesToGenerate = opts.NumberOfRecords;

                File.WriteAllText(opts.OutputFilePath, clg.Generate());
            });
        }