# UTMT - Unit Tests Macros (for Tests)
## Goal
The goal of this project is to create new macros for unit tests improving.
## Features
This project provides the following features.
### `assert_all(...)`
* `assert_all!(...)` macro. This macro allows to set several assertion in a single assertion like `AssertAll(...)` of the excellent `JUnit 5.x` test framework for Java.
The number of assertion rules is unlimited.
#### Examples
*false assertions*
```rust
assert_all!(1+1==2, 2+3==4, 'a' == 'b', 1 == 1);
```
With this example above, we can see that the second and third assertions are false. The `assert_all!(...)` macro will test all assertions first,
and store the false assertion for a final report. While all assertions are done, the `assert_all!(...)` shows the final results by indicating:
* the false assertions list,
* the number of false assertions,
* run a `panic!` macro to inform the `unittest` rust framework that this test is failed.
*valid assertions*
```rust
assert_all!(true, 2+3 == 5, 'a' == 'a');
```
## Other features
See the `utmt` documentation on [utmt](https://docs.rs/utmt).
## Authors and acknowledgement
Help will be appreciated. All tools will be developed with rust technology. If you have new ideas, your welcome!
## License
This project is under MIT licence.
## Project status
This project is under development and all contributions are welcome.
These tools are provided without any guaranties.