Qore QUnit Module Reference  0.4.1
QUnit::DependencyInjectedTest Class Referenceabstract

A class representing a test with injected dependencies. More...

Inheritance diagram for QUnit::DependencyInjectedTest:

Public Member Methods

 constructor (string name, string version, *reference< list< string >> p_argv, *hash< auto > opts)
 creates the injected test object
 
Program createInjectedProgram (string path)
 creates the Program object subject to injection
 
 createProgram ()
 creates the main child Program object subject to injection
 
int getParseOptions ()
 override this method to affect the parse options that Program objects subject to injection will get
 
string getScriptPath ()
 Returns the path to the script to be tested.
 
abstract string getScriptPathImpl ()
 implement this in subclasses to perform all injections
 
 injectClass (string class_name, *string new_name)
 injects a class
 
 injectFunction (string func_name, *string new_name)
 injects a function
 
 injectUserModule (string module, *code custom_setup, *code custom_parsing)
 performs all injections into the given user module
 
int main ()
 creates the injected program, reloads the source into it, and executes the test
 
 performCommonInjections (Program p)
 override this method to perform injections common to the primary child logic container and all user module logic containers
 
 performInjections ()
 performs injections
 
abstract performInjectionsImpl ()
 implement this in subclasses to perform all injections
 
 reloadAndCommitProgram ()
 reloads the test source and finalizes and commits the injected child Program object
 
 reloadSelf ()
 override to supply the source to the current test in case it's not available on the filesystem
 
 setReloadedParseOptions (Program p, string file_data)
 override to optionally set parse options on the reloaded source
 
- Public Member Methods inherited from QUnit::Test
 addTestCase (string name, code call, *softlist< auto > args)
 adds a test case to run More...
 
 addTestCase (QUnit::TestCase tc)
 adds a test case to run More...
 
 assertEq (auto expected, auto actual, *string name)
 Tests a value for equality to an expected value with hard comparisons (types and values must be identical) More...
 
 assertEqSoft (auto expected, auto actual, *string name)
 Tests a value for equality to an expected value with soft comparisons (types may differ) More...
 
 assertFalse (auto actual, *string name)
 Tests a boolean value. More...
 
 assertFloatEq (float expected, float actual, float epsilon=DEFAULT_EPSILON, *string name)
 Tests a float value for equality to an expected value with an allowed error. More...
 
 assertGe (auto expected, auto actual, *string name)
 Tests that a value is greater than or equal to an expected value with hard comparisons (types may not differ) More...
 
 assertGeSoft (auto expected, auto actual, *string name)
 Tests that a value is greater than or equal to than an expected value with soft comparisons (types may differ) More...
 
 assertGt (auto expected, auto actual, *string name)
 Tests that a value is greater than an expected value with hard comparisons (types may not differ) More...
 
 assertGtSoft (auto expected, auto actual, *string name)
 Tests that a value is greater than an expected value with soft comparisons (types may differ) More...
 
 assertionOk (*string name)
 process an ok assertion
 
 assertLe (auto expected, auto actual, *string name)
 Tests that a value is less than or equal to an expected value with hard comparisons (types may not differ) More...
 
 assertLeSoft (auto expected, auto actual, *string name)
 Tests that a value is less than or equal to than an expected value with soft comparisons (types may differ) More...
 
 assertLt (auto expected, auto actual, *string name)
 Tests that a value is less than an expected value with hard comparisons (types may not differ) More...
 
 assertLtSoft (auto expected, auto actual, *string name)
 Tests that a value is less than an expected value with soft comparisons (types may differ) More...
 
 assertNeq (auto expected, auto actual, *string name)
 Tests a value for inequality to an expected value with hard comparisons (types and values must be identical) More...
 
 assertNeqSoft (auto expected, auto actual, *string name)
 Tests a value for inequality to an expected value with soft comparisons (types may differ) More...
 
 assertNothing (auto actual, *string name)
 Tests for no value. More...
 
 assertNRegex (string regex_pattern, string actual, *string name)
 Tests that a test value does not pass a regular expression match. More...
 
 assertNumberEq (number expected, number actual, number epsilon=DEFAULT_EPSILON, *string name)
 Tests a number value for equality to an expected value with an allowed error. More...
 
 assertRegex (string regex_pattern, string actual, *string name)
 Tests that a test value passes a regular expression match. More...
 
 assertSkip (*string name)
 Skips assertion on purpose. More...
 
 assertThrows (string expectedErr, *string expectedDesc, code theCode, *softlist< auto > args, *string name)
 Tests that a piece of code throws an exception with given description. More...
 
 assertThrows (string expectedErr, code theCode, *softlist< auto > args, *string name)
 Tests that a piece of code throws an exception. More...
 
 assertTrue (auto actual, *string name)
 Tests a boolean value. More...
 
 constructor (string name, string version, *reference< list< string >> p_argv, *hash< auto > opts)
 creates the object and sets the name of the test
 
bool equals (auto a, auto b)
 Compare two values for equality. More...
 
bool equalsIterated (AbstractIterator a, AbstractIterator b)
 Compare two iterables, item by item, for equality of each index. More...
 
 fail (*string msg)
 Fails the test unconditionally. More...
 
*string getEnv (string key, *string def)
 facade for the system environment variables
 
TestCase getTestCase (string meth)
 returns the current test case
 
 globalSetUp ()
 global setup; will be called once before tests are run
 
 globalTearDown ()
 global tear down; will be called once after all tests are run
 
int main ()
 Run the whole suite, report results.
 
bool notEquals (auto a, auto b)
 Compare two values for inequality. More...
 
string printUnexpectedData (auto exp, auto act, *bool neg, *bool soft_comparisons, *string comparitor)
 Helper function for printing out human-readable comparison of two values.
 
bool regexpMatches (string s, string regexp)
 Compare a string for match against a regexp. More...
 
 setUp ()
 Prototype function for setting up test environment. It will be called for each test individually.
 
 tearDown ()
 Prototype function for cleaning up test environemnt. It will be called after each test has executed.
 
auto testAssertion (string name, code condition, *softlist< auto > args, int expectedResultValue)
 Tests for a single assertion for a call returning an integer value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, float expectedResultValue)
 Tests for a single assertion for a call returning a floating-point value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, number expectedResultValue)
 Tests for a single assertion for a call returning an arbitrary-precision numeric value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, bool expectedResultValue)
 Tests for a single assertion for a call returning a boolean value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, string expectedResultValue)
 Tests for a single assertion for a call returning a string value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, date expectedResultValue)
 Tests for a single assertion for a call returning a date value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, binary expectedResultValue)
 Tests for a single assertion for a call returning a binary value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, hash< auto > expectedResultValue)
 Tests for a single assertion for a call returning a hash value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, list< auto > expectedResultValue)
 Tests for a single assertion for a call returning a list value and returns the value generated. More...
 
auto testAssertion (string name, code condition, *softlist< auto > args, QUnit::AbstractTestResult expectedResult=new QUnit::TestResultSuccess())
 Tests for a single assertion and returns the value generated. More...
 
auto testAssertionValue (*string name, auto actual, auto expected)
 Tests a value for equality to an expected value. More...
 
auto testAssertionValue (*string name, number actual, number expected, number epsilon=DEFAULT_EPSILON)
 Tests a value for equality to an expected value of number type. More...
 
auto testAssertionValue (*string name, float actual, float expected, float epsilon=DEFAULT_EPSILON)
 Tests a value for equality to an expected value of float type. More...
 
 testNullAssertion (string name, code condition, *softlist< auto > args)
 Tests for a single assertion for a call returning no value (for example, to ensure that the call does not throw an exception) More...
 
 testSkip (string reason)
 Skips a given test, eg. because it may be missing some dependencies. More...
 
- Public Member Methods inherited from QUnit::TestReporter
 constructor (string name, string version, *reference< list< string >> p_argv, hash< auto > opts=Opts)
 creates the object from the arguments More...
 

Private Attributes

Program child
 the child Program object subject to injections
 
hash< string, Program > modules
 a hash of user modules subject to injections
 
string testedFile
 the name of the script to run with injections
 
- Private Attributes inherited from QUnit::TestReporter
string m_name
 test case name
 
hash< auto > m_options
 the result of parsing command-line options with Qore::GetOpt::parse2() More...
 
hash< string, hash< string, code > > m_printMethods
 A map of print methods, categorised into three types: header, summary, testreport.
 
string m_version
 test case version
 
int num_asserts = 0
 total number of assertions in script
 
int num_asserts_ok = 0
 total number of successful assertions in script
 
int num_asserts_skip = 0
 total number of skipped assertions in script
 
const OffsetColumn = 20
 the default column offset for printing options used in printOption() and usageIntern()
 

Static Private Attributes

static bool instantiated = False
 a flag to ensure that injections are not performed recursively
 

Additional Inherited Members

- Static Public Member Methods inherited from QUnit::Test
static string getAssertionName (*string name)
 returns the assertion name for display purposes
 
- Public Attributes inherited from QUnit::TestReporter
const Opts
 default options for Qore::GetOpt::constructor()
 
- Private Member Methods inherited from QUnit::Test
list< TestCasetestCases ()
 list of test cases
 
- Private Member Methods inherited from QUnit::TestReporter
 addTestResult (TestCase tc, int success, *string error, *string pos, *string detail)
 adds a test result
 
int errors ()
 returns the number of errors encountered during test execution
 
int skipped ()
 returns the number of tests skipped
 
int testCount ()
 returns the total number of test results
 

Detailed Description

A class representing a test with injected dependencies.