Ejemplo n.º 1
0
        public Measurement.MeasurementResultSet RunBenchmark(Testcase testcase, VariableCache.ConstraintMode constraintMode, PdlFilter.Filtermode filtermode, IDictionary <PDLPred, Measurement.SingleMeasurementResult> cache, IDictionary <Automaton <BDD>, Measurement.SingleMeasurementResult> automatonCache)
        {
            ICollection <PDLPred> bareResults = new LinkedList <PDLPred>();

            System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
            stopwatch.Start();
            foreach (PDLPred result in ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, constraintMode, filtermode))
            {
                bareResults.Add(result);
            }
            stopwatch.Stop();

            return(new Measurement.MeasurementResultSet(testcase.language, bareResults, stopwatch.ElapsedMilliseconds, constraintMode, filtermode, new HashSet <char>(testcase.alphabet), cache, automatonCache));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Just checks that the given testcase can be run without any runtime errors. Checking that the correct
        /// formulas are generated is infeasible, due to the large number of generated formulas
        /// </summary>
        /// <param name="testcase">Some testcase</param>
        public void RunTestcase(Testcase testcase)
        {
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.NONE, PdlFilter.Filtermode.NONE);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.NONE, PdlFilter.Filtermode.TRIVIAL);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.NONE, PdlFilter.Filtermode.STATEBASED);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.NONE, PdlFilter.Filtermode.BOTH);

            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.EQUAL, PdlFilter.Filtermode.NONE);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.EQUAL, PdlFilter.Filtermode.TRIVIAL);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.EQUAL, PdlFilter.Filtermode.STATEBASED);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.EQUAL, PdlFilter.Filtermode.BOTH);

            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.INEQUAL, PdlFilter.Filtermode.NONE);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.INEQUAL, PdlFilter.Filtermode.TRIVIAL);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.INEQUAL, PdlFilter.Filtermode.STATEBASED);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.INEQUAL, PdlFilter.Filtermode.BOTH);

            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.BOTH, PdlFilter.Filtermode.NONE);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.BOTH, PdlFilter.Filtermode.TRIVIAL);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.BOTH, PdlFilter.Filtermode.STATEBASED);
            ProblemGeneration.GeneratePDLWithEDn(testcase.language, testcase.alphabet, VariableCache.ConstraintMode.BOTH, PdlFilter.Filtermode.BOTH);
        }