public void Quotes()
        {
            var sut = new PipeDelimitedDataRepository <Person>(new FileProvider(@"..\..\Files\Pipes_Quotes.txt"));

            Assert.That(sut.AsQueryable().First().FirstName == "Hillary", String.Format("expected Hillary, , got {0}", sut.AsQueryable().First().FirstName));
            Assert.That(sut.AsQueryable().Count() == 100, String.Format("expected 100 rows, got {0}", sut.AsQueryable().Count()));
        }
        public void AsQueryableTests_Pipes_ActualData()
        {
            var fp = new Moq.Mock <IFileProvider>();

            fp.Setup(aa => aa.LoadFileContents()).Returns(BigListOfFakeData_Pipes);

            var sut = new PipeDelimitedDataRepository <Person>(fp.Object);

            Assert.That(sut.AsQueryable().First().FirstName == "Hillary", String.Format("expected Hillary, , got {0}", sut.AsQueryable().First().FirstName));
        }
        public void AsQueryableTests_Pipes()
        {
            var fp = new Moq.Mock <IFileProvider>();

            fp.Setup(aa => aa.LoadFileContents()).Returns(BigListOfFakeData_Pipes);

            var sut = new PipeDelimitedDataRepository <Person>(fp.Object);

            Assert.That(sut.AsQueryable().Count() == 100, String.Format("expected 100 rows, got {0}", sut.AsQueryable().Count()));
        }
Example #4
0
        static void Main(string[] args)
        {
            IRepository <Person> repo = null;

            if (!args.Any())
            {
                System.Console.Write("please select commas, pipes or spaces, followed by gender, DOB, or lastname.");
                return;
            }

            switch (args[0])
            {
            case "commas":
                repo =
                    new CommaDelimitedDataRepository <Person>(
                        new FileProvider(ConfigHelper.GetAppSetting("commasRepoPath", @"c:\temp\commas.txt")));
                break;

            case "pipes":
                repo =
                    new PipeDelimitedDataRepository <Person>(
                        new FileProvider(ConfigHelper.GetAppSetting("pipesRepoPath", @"c:\temp\pipes.txt")));
                break;

            default:
                repo =
                    new SpaceDelimitedDataRepository <Person>(
                        new FileProvider(ConfigHelper.GetAppSetting("spacesRepoPath", @"c:\temp\spaces.txt")));
                break;
            }

            var query = repo.AsQueryable();

            switch (args[1])
            {
            case "gender":
                query = query.OrderBy(aa => aa.Gender);
                break;

            case "lastname":
                query = query.OrderByDescending(aa => aa.LastName);
                break;

            case "DOB":
                query = query.OrderBy(aa => aa.DateOfBirth);
                break;
            }


            foreach (var p in query.ToList())
            {
                System.Console.WriteLine(String.Format("{0},{1},{2},{3},{4}", p.LastName, p.FirstName, p.Gender, p.DateOfBirth.ToShortDateString(), p.FavoriteColor));
            }
        }
        public void SimpleInsert()
        {
            var p = new Person()
            {
                FirstName     = "Bob",
                LastName      = "Loblaw",
                Gender        = "male",
                FavoriteColor = "indigo",
                DateOfBirth   = new DateTime(1921, 10, 22)
            };


            var sut = new PipeDelimitedDataRepository <Person>(new FileProvider(RunFilePath));

            InsertAndVerify(sut, p, 100);
        }