Esempio n. 1
0
        public void ReturnValidOutputOnValidInput()
        {
            string setupQuery = "CREATE TABLE";

            executor.Setup(e => e.ExecuteWithRollback(It.IsAny <IEnumerable <string> >(),
                                                      It.IsAny <IEnumerable <string> >())).Returns(new List <List <RowResult> > {
                new List <RowResult> {
                    new RowResult()
                }
            });
            executor.Setup(e => e.ExecuteSetup(It.Is <string>(r => r == setupQuery)));
            executor.Setup(e => e.ExecuteCRUD(It.Is <string>(r => r == "INSERT"))).Returns(5);
            executor.Setup(e => e.ExecuteQuery(It.Is <string>(r => r == "SELECT"))).Returns(() => {
                var row = new RowResult();
                row.Ints.Add(1);
                return(new List <RowResult> {
                    row
                });
            });
            sut = new QueryTester(executor.Object);

            var r1 = sut.TestTableSetup(setupQuery);
            var r2 = sut.TestCRUD(setupQuery, "INSERT");
            var r3 = sut.TestSelect(setupQuery, new string[] { "INSERT" }, "SELECT");

            Assert.DoesNotMatch("ERROR.*", r1.Result);
            Assert.DoesNotMatch("ERROR.*", r2.Result);
            Assert.DoesNotMatch("ERROR.*", r3.Result);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Library library = new Library();

            // Requires ~ 800 MB of RAM
            RandomGenerator rg = new RandomGenerator {
                RandomSeed = 42, BookCount = 250000 /*0*/ / 4, ClientCount = 10000, LoanCount = 500000 * 5, MaxCopyCount = 10
            };

            // Requires ~ 1500 MB of RAM
            // RandomGenerator rg = new RandomGenerator { RandomSeed = 42, BookCount = 2500000 / 2, ClientCount = 10000, LoanCount = 500000 * 5, MaxCopyCount = 10 };

            // Requires ~ 5000 MB of RAM
            // RandomGenerator rg = new RandomGenerator { RandomSeed = 42, BookCount = 2500000 * 2, ClientCount = 10000, LoanCount = 500000 * 10, MaxCopyCount = 10 };
            Console.WriteLine("Generating library content ...");
            rg.FillLibrary(library);

            QueryTester.RunQuery("reference single threaded", ReferenceLibraryQueries.Queries.SingleThreadedQuery, ReferenceLibraryQueries.Queries.PrintCopy, library);

            QueryTester.RunQuery("reference parallel", ReferenceLibraryQueries.Queries.ParallelQuery, ReferenceLibraryQueries.Queries.PrintCopy, library);

            Console.ReadLine();
            for (int threads = 1; threads <= 8; threads++)
            {
                QueryTester.RunQuery(
                    string.Format("MergeSort {0:D2} threads", threads),
                    lib => new MergeSortQuery {
                    Library = lib, ThreadCount = threads
                }.ExecuteQuery(),
                    ResultVisualizer.PrintCopy,
                    library
                    );
            }
        }
Esempio n. 3
0
        public void ReturnErrorOnInvalidInput()
        {
            string setupQuery = "CREATE TABLE";

            executor.Setup(e => e.ExecuteWithRollback(It.IsAny <IEnumerable <string> >(), It.IsAny <IEnumerable <string> >())).Throws(new Exception("Bad format"));
            executor.Setup(e => e.ExecuteSetup(It.Is <string>(r => r == setupQuery))).Throws(new Exception("Bad format"));
            executor.Setup(e => e.ExecuteCRUD(It.Is <string>(r => r == setupQuery))).Throws(new Exception("Bad format"));
            executor.Setup(e => e.ExecuteQuery(It.Is <string>(r => r == setupQuery))).Throws(new Exception("Bad format"));
            sut = new QueryTester(executor.Object);

            var r1 = sut.TestTableSetup(setupQuery);
            var r2 = sut.TestCRUD(setupQuery, "INSERT");
            var r3 = sut.TestSelect(setupQuery, new string[] { "INSERT" }, "SELECT");

            Assert.StartsWith("ERROR", r1.Result);
            Assert.StartsWith("ERROR", r2.Result);
            Assert.StartsWith("ERROR", r3.Result);
        }
        private static void RunSimpleQueries(TagServer tagServer)
        {
            var queryTester = new QueryTester(tagServer.Questions);

            queryTester.TestAndOrNotQueries();
            queryTester.TestQueries();

            Logger.LogStartupMessage("Finished, press <ENTER> to exit");
            Console.ReadLine();
            return;

            //Regular queries, i.e.single tag, no Boolean operators
            tagServer.Query(QueryType.LastActivityDate, "c#", pageSize: 10, skip: 0);
            tagServer.Query(QueryType.LastActivityDate, "c#", pageSize: 10, skip: 9);
            tagServer.Query(QueryType.LastActivityDate, "c#", pageSize: 10, skip: 10);

            tagServer.Query(QueryType.LastActivityDate, "c#", pageSize: 100, skip: 10000);
            tagServer.Query(QueryType.LastActivityDate, "c#", pageSize: 100, skip: 1000000);

            tagServer.Query(QueryType.Score, ".net", pageSize: 6, skip: 95);
            tagServer.Query(QueryType.Score, ".net", pageSize: 6, skip: 100);
            tagServer.Query(QueryType.Score, ".net", pageSize: 6, skip: 105);
        }