Exemple #1
0
            public void Z0010_ToSorterMetas_should_return_expected(string sorterMetaString)
            {
                // Arrange

                // Act

                // sut call
                var sorterMetas = SortitExtensions.ToSorterMetas(sorterMetaString);

                // Assert

                // todo : put in some proper test!

                // Dbg Print
                this.output.WriteLine($"{DateTime.Now}  ");
                this.output.WriteLine($"{sorterMetaString} ");
                sorterMetas.ToList().ForEach(x =>
                                             this.output.WriteLine($"  { x.PropertyName} ; {x.Desc}")
                                             );
            }
Exemple #2
0
            //[InlineData(true, 7, 7, "Town.County.Name")]
            //[InlineData(true, 7, 7, "Town.County.Name desc")]

            //[InlineData(true, 7, 7, "Town.County.Name")]
            //[InlineData(true, 7, 7, "Town.County.Name desc")]

            //[InlineData(true, 7, 7, "Town.County.Country.Name desc")]

            //[InlineData(false, 100, 3, "Surname")]     //      2ms
            //[InlineData(false, 1000, 3, "Surname")]    //      7ms
            //[InlineData(false, 10_000, 3, "Surname")]  //    226ms
            //[InlineData(false, 100_000, 3, "Surname")] //    852ms

            //[InlineData(false, 15, 3, "Surname")]      //      1ms
            //[InlineData(false, 100, 3, "Surname")]     //      2ms
            //[InlineData(false, 1000, 3, "Surname")]    //      7ms
            //[InlineData(false, 10_000, 3, "Surname")]  //    226ms
            //[InlineData(false, 100_000, 3, "Surname")] //    852ms
            //[InlineData(true, 15, 3, "Surname, Forename , Age , Address.PostCode ")]
            //[InlineData(true, 15, 3, "Surname desc , Forename desc , Age , Address.PostCode ")]
            //[InlineData(false, 10, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 20, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 50, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            ////[InlineData(false, 100, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 1_000, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 10_000, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 50_000, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(false, 100_000, 3, "Surname desc, Forename desc, Age desc, Address.PostCode desc")]
            //[InlineData(true, 20, 3, "Address.PostCode desc, Surname desc, Forename desc ")]
            //[InlineData(true, 20, 3, "Salary desc")]
            //[InlineData(true, 30, 4, "Age desc")]

            public void Sortit_by_sorterMetaString_should_be_timely(
                bool debugPrint,
                int n,
                int numberPerGroup,
                string sorterMetaString
                )
            {
                // Arrange

                // AsQueryable
                var persons =
                    GetTestablePersons(n, numberPerGroup)
                    .AsQueryable();

                // e.g "Surname, Address, PostCode desc" ->
                var sorterMetas =
                    SortitExtensions.ToSorterMetas(sorterMetaString)
                    .ToList();

                // Act

                // sut call
                var personsSorted =
                    persons
                    .Sortit(sorterMetas)
                    .ToList();

                // Assert

                // todo : put in some proper test!

                // Dbg Print
                this.output.WriteLine($"{DateTime.Now} ; N: {personsSorted.Count()} ; numberPerGroup: {numberPerGroup} ; ");
                if (debugPrint)
                {
                    personsSorted.ToList().ForEach(x =>
                                                   //this.output.WriteLine($"{x.Surname} ; {x.Forename} ; Age: {x.Age:D2} ; { (x.Alive ? "TRUE " : "false") } ; p: {x.Prob:f2} ; {x.Salary:C} ; {x.DOB:yyyy/MM/dd hh:mm:ss} ; {x.Address.PostCode} ; {x?.Town?.Name} ; {x?.Town?.County.Name} ; {x?.Town?.County.Country.Name} ")
                                                   this.output.WriteLine($"{x.Surname} ; {x.Forename} ; Age: {x.Age:D2} ; { (x.Alive ? "TRUE " : "false") } ; p: {x.Prob:f2} ; {x.Salary:C} ; {x.DOB:yyyy/MM/dd hh:mm:ss} ; {x.Address.PostCode} ; {x?.Town?.Name} ; {x?.Town?.County?.Name} ; {x?.Town?.County?.Country?.Name} ")
                                                   );
                }
            }