d07 ajouts tests avec fixed et char dans ex01 et ex02

This commit is contained in:
Hugo LAMY
2022-03-18 14:26:15 +01:00
parent b30fdff668
commit 726bd388dd
18 changed files with 1098 additions and 31 deletions

View File

@@ -7,8 +7,9 @@
#include "Print.hpp"
#include "Array.hpp"
#include "Fill.hpp"
#include "Fixed.hpp"
#define N_TEST "7"
#define N_TEST "13"
int main() {
srand(time(NULL));
@@ -91,15 +92,134 @@ int main() {
std::cout << "\n";
}
// tests luke
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests :" RESET "\n";
<< "tests simple array :" RESET "\n";
{
Array<int> a(10);
std::cout << "a.size :" << a.size() << "\n";
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests empty array :" RESET "\n";
{
Array<int> arr(0);
std::cout << "arr.size :" << arr.size() << "\n";
try {
arr[arr.size()] = 42; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests write and read :" RESET "\n";
{
std::cout << B_BLUE "create Array<int> arr(5);" RESET "\n";
Array<int> arr(5);
std::cout << B_BLUE "create Array<int> const constarr(5);" RESET "\n";
Array<int> const constarr(5);
std::cout << "arr.size :" << arr.size() << "\n";
std::cout << "constarr.size :" << constarr.size() << "\n";
try {
std::cout << B_BLUE "arr[3] = 12" RESET "\n";
arr[3] = 12;
std::cout << B_BLUE "print arr;" RESET "\n";
::Iter(arr, arr.size(), Print<int>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
try {
std::cout << B_BLUE "print constarr;" RESET "\n";
::Iter(constarr, constarr.size(), Print<int>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests empty Fixed array :" RESET "\n";
{
Array<Fixed> arr(0);
std::cout << "fixed arr.size :" << arr.size() << "\n";
try {
arr[arr.size()] = 42; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests fixed write and read :" RESET "\n";
{
std::cout << B_BLUE "create Array<Fixed> arr(5);" RESET "\n";
Array<Fixed> arr(5);
std::cout << B_BLUE "create Array<Fixed> const constarr(5);" RESET "\n";
Array<Fixed> const constarr(5);
std::cout << "arr.size :" << arr.size() << "\n";
std::cout << "constarr.size :" << constarr.size() << "\n";
try {
std::cout << B_BLUE "arr[3] = 12" RESET "\n";
arr[3] = 12;
std::cout << B_BLUE "print arr;" RESET "\n";
::Iter(arr, arr.size(), Print<Fixed>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
try {
std::cout << B_BLUE "print constarr;" RESET "\n";
::Iter(constarr, constarr.size(), Print<Fixed>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests empty Fixed array :" RESET "\n";
{
Array<char> arr(0);
std::cout << "char arr.size :" << arr.size() << "\n";
try {
arr[arr.size()] = 'c'; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests char write and read :" RESET "\n";
{
std::cout << B_BLUE "create Array<char> arr(5);" RESET "\n";
Array<char> arr(5);
std::cout << B_BLUE "create Array<char> const constarr(5);" RESET "\n";
Array<char> const constarr(5);
std::cout << "arr.size :" << arr.size() << "\n";
std::cout << "constarr.size :" << constarr.size() << "\n";
try {
std::cout << B_BLUE "arr[3] = 12" RESET "\n";
arr[3] = 12;
std::cout << B_BLUE "print arr;" RESET "\n";
::Iter(arr, arr.size(), Print<char>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
try {
std::cout << B_BLUE "print constarr;" RESET "\n";
::Iter(constarr, constarr.size(), Print<char>);
std::cout << "\n"; }
catch(std::exception& e) {
std::cerr << e.what() << '\n'; }
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests index correct :" RESET "\n";
{
@@ -141,7 +261,7 @@ int main() {
}
std::cout << B_YELLOW "\n[" << ++i << "/" N_TEST "] "
<< "tests :" RESET "\n";
<< "tests subject :" RESET "\n";
{
#define MAX_VAL 750
Array<int> numbers(MAX_VAL);