public void ShouldSortMultipleRowsCorrectly_NumberColumn()
        {
            var columns = new List <int> {
                4, 1
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "Marshall,Mathers,The Slim Shady LP,55000",
                "Marshall,Mathers,The Slim Shady LP,45000",
                "Marshall,Mathers,The Slim Shady LP,40000",
                "Marshall,Mathers,The Slim Shady LP,30000",
                "Marshall,Mathers,The Slim Shady LP,90000",
                "Marshall,Mathers,The Slim Shady LP,70000",
                "Eminem,,Infinite,70000"
            };

            rows.Sort(sut);

            rows[0].ShouldBe("Marshall,Mathers,The Slim Shady LP,30000");
            rows[1].ShouldBe("Marshall,Mathers,The Slim Shady LP,40000");
            rows[2].ShouldBe("Marshall,Mathers,The Slim Shady LP,45000");
            rows[3].ShouldBe("Marshall,Mathers,The Slim Shady LP,55000");
            rows[4].ShouldBe("Eminem,,Infinite,70000");
            rows[5].ShouldBe("Marshall,Mathers,The Slim Shady LP,70000");
            rows[6].ShouldBe("Marshall,Mathers,The Slim Shady LP,90000");
        }
        public void ShouldSortMultipleRowsCorrectly_Readable()
        {
            var columns = new List <int> {
                1, 2, 3
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "Marshall,Mathers,The Slim Shady LP",
                "Marshall,Mathers,The Eminem Show",
                "Marshall,Mathers,Relapse",
                "Marshall,Mathers,Relapse 2",
                "Marshall,Mathers,Revival",
                "Marshall,Mathers,Kamikaze",
                "Eminem,,Infinite"
            };

            rows.Sort(sut);

            rows[0].ShouldBe("Eminem,,Infinite");
            rows[1].ShouldBe("Marshall,Mathers,Kamikaze");
            rows[2].ShouldBe("Marshall,Mathers,Relapse");
            rows[3].ShouldBe("Marshall,Mathers,Relapse 2");
            rows[4].ShouldBe("Marshall,Mathers,Revival");
            rows[5].ShouldBe("Marshall,Mathers,The Eminem Show");
            rows[6].ShouldBe("Marshall,Mathers,The Slim Shady LP");
        }
示例#3
0
        public CsvMultipleColumnSorterBenchmark()
        {
            var columns = new List <int> {
                1, 3, 5
            };

            _unsortedRows      = new UnsortedRows();
            _stringSplitSorter = new CsvMultipleColumnSorter_StringSplit(columns);
            _substringSorter   = new CsvMultipleColumnSorter_Substring(columns);
            _spanSorter        = new CsvMultipleColumnSorter_Span(columns);
        }
        public void ShouldSortCorrectlyBasedOnThreeColumns()
        {
            var columns = new List <int> {
                1, 4
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "aaaa,bbbb,cccc,2222",
                "cccc,bbbb,aaaa,2222"
            };

            rows.Sort(sut);

            rows[0].ShouldBe("aaaa,bbbb,cccc,2222");
            rows[1].ShouldBe("cccc,bbbb,aaaa,2222");
        }
        public void ShouldSortCorrectlyBasedOnOneColumn_LastColumn()
        {
            var columns = new List <int> {
                4
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "aaaa,bbbb,cccc,2222",
                "aaaa,bbbb,cccc,1111"
            };

            rows.Sort(sut);

            rows[0].ShouldBe("aaaa,bbbb,cccc,1111");
            rows[1].ShouldBe("aaaa,bbbb,cccc,2222");
        }
        public void ShouldNotChangeOrderOnSameStrings()
        {
            var columns = new List <int> {
                1, 4
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "aaaa,bbbb,cccc,2222",
                "aaaa,bbbb,cccc,2222",
                "aaaa,bbbb,cccc,3333",
            };

            rows.Sort(sut);

            rows[0].ShouldBe("aaaa,bbbb,cccc,2222");
            rows[1].ShouldBe("aaaa,bbbb,cccc,2222");
            rows[2].ShouldBe("aaaa,bbbb,cccc,3333");
        }
        public void ShouldSortMultipleRowsCorrectly()
        {
            var columns = new List <int> {
                1, 6
            };
            var sut  = new CsvMultipleColumnSorter_Span(columns);
            var rows = new List <string>
            {
                "Alexis,Abernathy,Alexis Abernathy,Alexis17,[email protected],Value 0,5217416e-d271-4aff-92eb-b44185637790,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/139.jpg",
                "Katherine,Homenick,Katherine Homenick,Katherine_Homenick33,[email protected],Value 2,10f41091-9aa5-4bf7-84a2-b0418e62a487,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/917.jpg",
                "Wendell,Brown,Wendell Brown,Wendell_Brown26,[email protected],Value 8,73b735b4-5e6e-42cb-bfa3-1c80c324874f,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/100.jpg",
                "Alexis,Schneider,Alexis Schneider,Alexis_Schneider40,[email protected],Value 4,df7b9351-a049-4fa3-a4ea-b753bc6df517,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/660.jpg",
                "Guido,Wolf,Guido Wolf,Guido53,[email protected],Value 3,12618f37-e4eb-4c62-9a8f-104d77bea283,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/500.jpg"
            };

            rows.Sort(sut);

            rows[0].ShouldBe("Alexis,Abernathy,Alexis Abernathy,Alexis17,[email protected],Value 0,5217416e-d271-4aff-92eb-b44185637790,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/139.jpg");
            rows[1].ShouldBe("Alexis,Schneider,Alexis Schneider,Alexis_Schneider40,[email protected],Value 4,df7b9351-a049-4fa3-a4ea-b753bc6df517,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/660.jpg");
            rows[2].ShouldBe("Guido,Wolf,Guido Wolf,Guido53,[email protected],Value 3,12618f37-e4eb-4c62-9a8f-104d77bea283,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/500.jpg");
            rows[3].ShouldBe("Katherine,Homenick,Katherine Homenick,Katherine_Homenick33,[email protected],Value 2,10f41091-9aa5-4bf7-84a2-b0418e62a487,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/917.jpg");
            rows[4].ShouldBe("Wendell,Brown,Wendell Brown,Wendell_Brown26,[email protected],Value 8,73b735b4-5e6e-42cb-bfa3-1c80c324874f,https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/100.jpg");
        }