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); }
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)); } }
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); }