aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md50
-rw-r--r--doc/example.c4
2 files changed, 31 insertions, 23 deletions
diff --git a/README.md b/README.md
index 619972d..9f23143 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ simple-test
[simple-test.h](simple-test.h) is a single header file which implements
quick-and-dirty unit testing for C. robust unit testing suites for C exist, but
-require a degree of boilerplate which can be prohibitive for their use in
+they require a degree of boilerplate which can be prohibitive for their use in
spare-time projects. if you're writing something for fun, lots of boilerplate
defeats the purpose of writing it. simple-test is made to be as easy to use as
possible: include the header, compile, and run.
@@ -20,7 +20,7 @@ functionality to be tested. include the functionality needed (including headers
and linking against objects) to produce an executable file from the .c file,
then run the executable to test. simple-test internally defines a `main`
function, so none is required, and the `argc` and `argv` arguments are made
-available to all `TEST`s.
+available to all tests.
example
@@ -39,7 +39,7 @@ char *global_s;
* occurs either after an ASSERT fails or after the TEST is finished.
*
* defining one is optional, but, if used, REGISTER_TEARDOWN must appear
- * between BEGIN_TEST and the first TEST
+ * between BEGIN_TEST and the first TEST statement.
*
* here i'm using it to free memory that's alloced inside tests below */
void teardown(void)
@@ -81,7 +81,7 @@ TEST("type mismatch")
int i = 97;
char *b = NULL;
- /* for convenience's sake, when presented with unmatched types, assertions
+ /* for convenience's sake, when presented with mismatched types, assertions
* try to resolve them in a way that's most likely to match the
* programmer's intentions. here 'i' is interpreted as a char */
ASSERT_EQ(a, i);
@@ -139,11 +139,11 @@ on compiling and running this file, the output will look something like this:
![run 1](doc/run_01.png)
-an error, because the types passed to the second assertion in the "type
-mismatch" test are... well, mismatched. simple-test does its best to
-accommodate mismatched types when it makes sense to do so (e.g. comparing a
-signed and unsigned integer), but there is no meaningful comparison to be made
-between a `char` and a `char *`, so the error is returned.
+an error occurs because the types passed to the second assertion in the "type
+mismatch" test are... well, mismatched. assertions do their best to accommodate
+mismatched types when it makes sense to do so (e.g. comparing a signed and
+unsigned integer), but there is no meaningful comparison to be made between a
+`char` and a `char *`, so the error is returned.
if that assertion is commented out:
@@ -157,7 +157,7 @@ and the tests re-run, the output would look like this:
![run 2](doc/run_02.png)
-as you can see, there are multiple failing assertions, and their failures are
+as you can see, there are multiple failing assertions. their failures are
reported and a total count of failing tests printed. if all of these failing
asserts are commented out and the tests re-run, the output looks like this:
@@ -181,14 +181,22 @@ simple-test's interface consists of a series of preprocessor macros:
| **ECHO(<...>)** | print a formatted description of the state within the current test |
| **ASSERT<_condition>(<args>)** | assert, on either one or two `args`, that `_condition` is true |
-valid values for `_condition` are:
-
-| **_condition** | **DESCRIPTION** |
-|---------------:|:----------------|
-| | if the _condition is omitted, fail if the single argument is a "not" value, i.e. NULL, 0, '\0' etc. |
-| **_EQ** | fail if the two arguments are not equal |
-| **_NEQ** | fail if the two arguments are equal |
-| **_GT** | fail if the first argument is not greater than the second |
-| **_GEQ** | fail if the first argument is not greater than or equal to the second |
-| **_LT** | fail if the first argument is not less than the second |
-| **_LEQ** | fail if the first argument is not less than or equal to the second |
+valid assertions are:
+
+| **NAME** | **DESCRIPTION** |
+|---------:|:----------------|
+| **ASSERT(<a>)** | assert that the value of `a` is not a "not" value, i.e. NULL, 0, or '\0' |
+| **ASSERT_NOT(<a>)** | assert that the value of `a` is a "not" value |
+| **ASSERT_EQ(<a>, <b>)** | fail if the values of `a` and `b` are not equal |
+| **ASSERT_NEQ(<a>, <b>)** | fail if the values of `a` and `b` are equal |
+| **ASSERT_GT(<a>, <b>)** | fail if the value of `a` is not greater the value of `b` |
+| **ASSERT_GEQ(<a>, <b>)** | fail if the value of `a` is not greater than or equal to the value of `b` |
+| **ASSERT_LT(<a>, <b>)** | fail if the value of `a` is not less than the value of `b` |
+| **ASSERT_LEQ(<a>, <b>)** | fail if the value of `a` is not less than or equal to the value of `b` |
+
+
+note
+----
+
+simple-test.h internally uses macros prefixed with `SIMPLE_TEST_` and functions
+and variables prefixed with `simple_test_`. these should not be used directly.
diff --git a/doc/example.c b/doc/example.c
index 26d8f66..6341a1f 100644
--- a/doc/example.c
+++ b/doc/example.c
@@ -7,7 +7,7 @@ char *global_s;
* occurs either after an ASSERT fails or after the TEST is finished.
*
* defining one is optional, but, if used, REGISTER_TEARDOWN must appear
- * between BEGIN_TEST and the first TEST
+ * between BEGIN_TEST and the first TEST statement.
*
* here i'm using it to free memory that's alloced inside tests below */
void teardown(void)
@@ -49,7 +49,7 @@ TEST("type mismatch")
int i = 97;
char *b = NULL;
- /* for convenience's sake, when presented with unmatched types, assertions
+ /* for convenience's sake, when presented with mismatched types, assertions
* try to resolve them in a way that's most likely to match the
* programmer's intentions. here 'i' is interpreted as a char */
ASSERT_EQ(a, i);