TestCreate

TestCreate[input]

create a TestObject to determine whether input evaluates to True.

TestCreate[input,expected]

create a TestObject to determine whether input evaluates to expected.

TestCreate[input,expected,messages]

create a TestObject that is expected to generate the list of message names messages.

Details and Options

Examples

open allclose all

Basic Examples  (4)

Create a test that tests whether the input evaluates to True:

Evaluate the test:

Test whether the input evaluates to the expected output:

When a test fails, it returns an outcome of Failure:

When the input evaluates to the expected output but gives messages, the outcome is MessagesFailure:

Add the expected message:

Scope  (2)

Basic Uses  (2)

Perform a test and present the results in a Dataset:

Test if the results of an NIntegrate are numerically equivalent to Integrate by using an absolute tolerance:

This can also be done by using the SameTest option:

Options  (13)

MemoryConstraint  (1)

Run a test until a memory limit is exceeded:

SameTest  (5)

Test whether the input is an integer:

Test if the absolute precision of the input is at least 10-12:

Test if the relative precision is at least 10-5:

Test if two expressions are equivalent after simplification:

Use Unevaluated to pass unevaluated expressions to the SameTest function:

You can use a combination of Function and Echo to print the arguments of the SameTest function:

TestID  (4)

Add a TestID to the test:

A TestID can be any expression:

By default, the TestID is a Hash of the test:

The TestID will change if the input of the TestCreate expression is different:

Use CreateUUID to create random identifiers every time:

TimeConstraint  (1)

Terminate the test if it takes more than one second:

MetaInformation  (2)

Store arbitrary metainformation in the TestObject:

Access the stored MetaInformation:

MetaInformation can be any expression:

Possible Issues  (3)

The expected output is evaluated before comparison with the actual output:

Use Unevaluated to compare expressions before evaluation happens:

Messages generated on evaluation of expected output are not accounted for in the expected messages:

If SameTest does not evaluate to True or False, a failure type of "SameTestUnevaluated" is reported:

Wolfram Research (2023), TestCreate, Wolfram Language function, https://reference.wolfram.com/language/ref/TestCreate.html.

Text

Wolfram Research (2023), TestCreate, Wolfram Language function, https://reference.wolfram.com/language/ref/TestCreate.html.

CMS

Wolfram Language. 2023. "TestCreate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/TestCreate.html.

APA

Wolfram Language. (2023). TestCreate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TestCreate.html

BibTeX

@misc{reference.wolfram_2024_testcreate, author="Wolfram Research", title="{TestCreate}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/TestCreate.html}", note=[Accessed: 13-June-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_testcreate, organization={Wolfram Research}, title={TestCreate}, year={2023}, url={https://reference.wolfram.com/language/ref/TestCreate.html}, note=[Accessed: 13-June-2024 ]}