diff --git a/ex02/Main.cpp b/ex02/Main.cpp index 47b5398..d115a48 100644 --- a/ex02/Main.cpp +++ b/ex02/Main.cpp @@ -57,7 +57,7 @@ int main(int, char**) { std::cout << "=== Test 1: Creation d'un Array ===" << std::endl; Array numbers(MAX_VAL); - std::cout << "Array cree avec " << numbers.size() << " elements" << std::endl; + std::cout << "Array cree avec '" << numbers.size() << "' elements" << std::endl; int* mirror = new int[MAX_VAL]; srand(time(NULL)); @@ -69,63 +69,26 @@ int main(int, char**) numbers[i] = value; mirror[i] = value; } - std::cout << "Array rempli avec " << MAX_VAL << " valeurs aleatoires" << std::endl; - + std::cout << "Array rempli avec " << numbers.size() << " valeurs aleatoires" << std::endl; + int i = 0; + while (i < 5) + { + std::cout << "Valeur a l'index '" << i << "' de numbers : '" << numbers[i] << "' et de mirror : '"<< mirror[i] << "'" << std::endl; + i++; + } std::cout << "\n=== Test 3: Copy Constructor et Destructeur ===" << std::endl; { std::cout << "Creation de copies dans un scope..." << std::endl; - Array tmp = numbers; + Array numbers2(58); + Array tmp = numbers2; Array test(tmp); std::cout << "Copies creees" << std::endl; + std::cout << "original size = " << numbers2.size() << " | = size " << tmp.size() << " | copy size " << test.size() << std::endl; } - std::cout << "Sortie du scope, destructeurs appeles" << std::endl; - - std::cout << "\n=== Test 4: Verification que les donnees n'ont pas change ===" << std::endl; - bool ok = true; - for (int i = 0; i < MAX_VAL; i++) - { - if (mirror[i] != numbers[i]) - { - std::cerr << "didn't save the same value!!" << std::endl; - ok = false; - break; - } - } - if (ok) - std::cout << "OK: Les donnees sont intactes apres les copies" << std::endl; - - std::cout << "\n=== Test 5: Exception - Index negatif ===" << std::endl; - try - { - std::cout << "Tentative d'acces avec index -2..." << std::endl; - numbers[-2] = 0; - } - catch(const std::exception& e) - { - std::cout << "Exception capturee: " << e.what() << std::endl; - } - - std::cout << "\n=== Test 6: Exception - Index hors limites ===" << std::endl; - try - { - std::cout << "Tentative d'acces avec index " << MAX_VAL << "..." << std::endl; - numbers[MAX_VAL] = 0; - } - catch(const std::exception& e) - { - std::cout << "Exception capturee: " << e.what() << std::endl; - } - - std::cout << "\n=== Test 7: Assignment Operator ===" << std::endl; - Array backup(5); - std::cout << "Backup cree avec 5 elements" << std::endl; - backup = numbers; - std::cout << "Assignment: backup = numbers (nouveau size: " << backup.size() << ")" << std::endl; - for (int i = 0; i < MAX_VAL; i++) - { - numbers[i] = rand(); - } + std::cout << "\n=== Test 4: set et get d'une valeur ===" << std::endl; + std::cout << "Ajout de la valeur 42 a l'index 3" << std::endl; + numbers[3] = 42; + std::cout << "La valeur a l'index 3 est : " << numbers[3] << std::endl; delete [] mirror; - return 0; }