public static void storeTestRun(TestRun tr)
        {
            MightyOrm db           = DatabaseConnector.createConnectionTestRun();
            MightyOrm dbTc         = DatabaseConnector.createConnectionTestCase();
            MightyOrm dbTestResult = DatabaseConnector.createConnectionTestResult();

            var insert = db.New();

            insert.Category = tr.Category;
            insert.Sha256   = tr.Sha256;
            insert.Filename = tr.Filename;
            db.Insert(insert);

            List <TestCase> testCases = tr.TestCases;

            if (testCases != null && testCases.Count > 0)
            {
                foreach (TestCase tc in testCases)
                {
                    DatabaseConnector.storeTestCase(dbTc, dbTestResult, tc, insert.TestRunID);
                }
            }

            Console.WriteLine(insert.TestRunID);
        }
        private static void storeTestResult(MightyOrm db, TestResult tr, int tcID)
        {
            var insert = db.New();

            insert.TestCaseID            = tcID;
            insert.Iteration             = tr.Iteration;
            insert.Excursion             = tr.Excursion;
            insert.NumDirectionalRuns    = tr.NumDirectionalRuns;
            insert.LenDirectionalRuns    = tr.LenDirectionalRuns;
            insert.NumIncreasesDecreases = tr.NumIncreasesDecreases;
            insert.NumRunsMedian         = tr.NumRunsMedian;
            insert.LenRunsMedian         = tr.LenRunsMedian;
            insert.AvgCollision          = tr.AvgCollision;
            insert.MaxCollision          = tr.MaxCollision;
            insert.Periodicity1          = tr.Periodicity1;
            insert.Periodicity2          = tr.Periodicity2;
            insert.Periodicity8          = tr.Periodicity8;
            insert.Periodicity16         = tr.Periodicity16;
            insert.Periodicity32         = tr.Periodicity32;
            insert.Covariance1           = tr.Covariance1;
            insert.Covariance2           = tr.Covariance2;
            insert.Covariance8           = tr.Covariance8;
            insert.Covariance16          = tr.Covariance16;
            insert.Covariance32          = tr.Covariance32;
            insert.Compression           = tr.Compression;
            db.Insert(insert);

            Console.WriteLine(insert.TestResultID);
        }
        private static void storeTestCase(MightyOrm db, MightyOrm dbTr, TestCase tc, int trID)
        {
            var insert = db.New();

            insert.TestRunID     = trID;
            insert.TestCaseDesc  = tc.TestCaseDesc;
            insert.HOriginal     = tc.HOriginal;
            insert.HBitString    = tc.HBitstring;
            insert.HAssessed     = tc.HAssessed;
            insert.RetMinEntropy = tc.RetMinEntropy;
            insert.DataWordSize  = tc.DataWordSize;
            insert.BinTTupleRes  = tc.BinTTupleRes;
            insert.TTupleRes     = tc.TTupleRes;
            insert.BinLrsRes     = tc.BinLrsRes;
            insert.LrsRes        = tc.LrsRes;
            insert.Mean          = tc.Mean;
            insert.Median        = tc.Median;
            insert.Binary        = tc.Binary;

            insert.LiteralMCVEstimateMode                   = tc.LiteralMCVEstimateMode;
            insert.LiteralMCVEstimatePHat                   = tc.LiteralMCVEstimatePHat;
            insert.LiteralMCVEstimatePU                     = tc.LiteralMCVEstimatePU;
            insert.BitstringMCVEstimateMode                 = tc.BitstringMCVEstimateMode;
            insert.BitstringMCVEstimatePHat                 = tc.BitstringMCVEstimatePHat;
            insert.BitstringMCVEstimatePU                   = tc.BitstringMCVEstimatePU;
            insert.ChiSquareIndependenceScore               = tc.ChiSquareIndependenceScore;
            insert.ChiSquareIndependenceDegressOfFreedom    = tc.ChiSquareIndependenceDegressOfFreedom;
            insert.ChiSquareIndependencePValue              = tc.ChiSquareIndependencePValue;
            insert.ChiSquareGoodnessOfFitScore              = tc.ChiSquareGoodnessOfFitScore;
            insert.ChiSquareGoodnessOfFitDegressOfFreedom   = tc.ChiSquareGoodnessOfFitDegressOfFreedom;
            insert.ChiSquareGoodnessOfFit_p_value           = tc.ChiSquareGoodnessOfFit_p_value;
            insert.PassedChiSquareTests                     = tc.PassedChiSquareTests;
            insert.LongestRepeatedSubstringPCol             = tc.LongestRepeatedSubstringPCol;
            insert.LongestRepeatedSubstringLengthOfLrs      = tc.LongestRepeatedSubstringLengthOfLrs;
            insert.LongestRepeatedSubstringPRX1             = tc.LongestRepeatedSubstringPRX1;
            insert.PassedLengthLongestRepeatedSubstringTest = tc.PassedLengthLongestRepeatedSubstringTest;
            insert.PassedIidPermutationTests                = tc.PassedIidPermutationTests;

            db.Insert(insert);

            List <TestResult> testResults = tc.TestResults;

            if (testResults != null && testResults.Count > 0)
            {
                foreach (TestResult tr in testResults)
                {
                    DatabaseConnector.storeTestResult(dbTr, tr, insert.TestCaseID);
                }
            }

            Console.WriteLine(insert.TestCaseID);
        }
Esempio n. 4
0
 public void Save_NoSequenceWithPk_CanInsert()
 {
     dynamic toSave = new { DNAME = "Massive Dep", LOC = "Beach" }.ToExpando();
     {
         var depts  = new Department(ProviderName);
         var result = depts.Save(toSave);
         Assert.AreEqual(1, result);
         Assert.IsTrue(toSave.DEPTNO > 0);
         Assert.AreEqual(1, depts.Delete(toSave.DEPTNO));
     }
     {
         // re-insert at the previous, deleted therefore valid, PK value but without using sequence to generate it;
         // actually tests that Oracle can insert user-managed PKs with no sequence
         var depts  = new MightyOrm(string.Format(TestConstants.ReadWriteTestConnection, ProviderName), "SCOTT.DEPT", "DEPTNO");
         int oldId  = toSave.DEPTNO;
         var result = depts.Insert(toSave);
         Assert.AreEqual(oldId, result.DEPTNO);
         Assert.AreEqual(1, depts.Delete(toSave.DEPTNO));
     }
 }
Esempio n. 5
0
        public void Update_SingleRow_MappedExpando()
        {
            // Apply some quick crazy-ass mapping... to an ExpandoObject :-)
            // Remember, we're mapping from crazy fake 'class' names to the sensible underlying column names
            var categories = new MightyOrm(
                string.Format(TestConstants.WriteTestConnection, ProviderName),
                "MassiveWriteTests.Categories",
                primaryKeys: "MYCATEGORYID",
                columns: "MYCATEGORYID, TheName, ItsADescription",
                mapper: new SqlNamingMapper(columnNameMapping: (t, c) => c
                                            // 'class' names should come first
                                            .Map("MYCATEGORYID", "CategoryID")
                                            .Map("TheName", "CategoryName")
                                            .Map("ItsADescription", "Description")));
            // insert something to update first.
            var inserted           = categories.Insert(new { TheName = "Cool stuff", ItsADescription = "You know... cool stuff! Cool. n. stuff." });
            int insertedCategoryID = inserted.MYCATEGORYID;

            Assert.IsTrue(insertedCategoryID > 0);
            // update it, with a better description
            inserted.ItsADescription = "This is all jolly marvellous";
            Assert.AreEqual(1, categories.Update(inserted), "Update should have affected 1 row");
            var updatedRow = categories.Single(new { inserted.MYCATEGORYID });

            Assert.IsNotNull(updatedRow);
            Assert.AreEqual(inserted.MYCATEGORYID, Convert.ToInt32(updatedRow.MYCATEGORYID)); // convert from uint
            Assert.AreEqual(inserted.ItsADescription, updatedRow.ItsADescription);
            // reset description to NULL
            updatedRow.ItsADescription = null;
            Assert.AreEqual(1, categories.Update(updatedRow), "Update should have affected 1 row");
            var newUpdatedRow = categories.Single(new { updatedRow.MYCATEGORYID });

            Assert.IsNotNull(newUpdatedRow);
            Assert.AreEqual(updatedRow.MYCATEGORYID, newUpdatedRow.MYCATEGORYID);
            Assert.AreEqual(updatedRow.ItsADescription, newUpdatedRow.ItsADescription);
        }