# Five-step introduction

## Step 3: Run and watch it fail

```runhaskell MathSpec.hs

absolute
returns the original number when given a positive input [✘]
returns a positive number when given a negative input [✘]
returns zero when given zero [✘]

Failures:

Math.hs:5:12:
1) absolute returns the original number when given a positive input
uncaught exception: ErrorCall
Prelude.undefined
CallStack (from HasCallStack):
error, called at libraries/base/GHC/Err.hs:78:14 in base:GHC.Err
undefined, called at Math.hs:5:12 in main:Math

To rerun use: --match "/absolute/returns the original number when given a positive input/"

Math.hs:5:12:
2) absolute returns a positive number when given a negative input
uncaught exception: ErrorCall
Prelude.undefined
CallStack (from HasCallStack):
error, called at libraries/base/GHC/Err.hs:78:14 in base:GHC.Err
undefined, called at Math.hs:5:12 in main:Math

To rerun use: --match "/absolute/returns a positive number when given a negative input/"

Math.hs:5:12:
3) absolute returns zero when given zero
uncaught exception: ErrorCall
Prelude.undefined
CallStack (from HasCallStack):
error, called at libraries/base/GHC/Err.hs:78:14 in base:GHC.Err
undefined, called at Math.hs:5:12 in main:Math

To rerun use: --match "/absolute/returns zero when given zero/"

Randomized with seed 921447365

Finished in 0.0005 seconds
3 examples, 3 failures
```

## Step 5: Run again and see it pass

```runhaskell MathSpec.hs

absolute
returns the original number when given a positive input [✔]
returns a positive number when given a negative input [✔]
returns zero when given zero [✔]

Finished in 0.0005 seconds
3 examples, 0 failures
```