/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* main.cpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/03/28 22:01:37 by rparodi #+# #+# */ /* Updated: 2025/03/28 23:08:46 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */ #include "Array.hpp" #include #include int main() { std::cout << CLR_YELLOW << "\t[ Testing with an empty tab ]" << CLR_RESET << std::endl; Array empty; std::cout << empty << std::endl; std::cout << CLR_YELLOW << "\t[ Testing with a tab with strings ]" << CLR_RESET << std::endl; Array strings(3); strings[0] = "Hello"; strings[1] = "World"; strings[2] = "!"; std::cout << strings << std::endl << std::endl; std::cout << CLR_YELLOW << "\t[ Testing deep copy Array ]" << CLR_RESET << std::endl; Array original_floats(4); for (unsigned int i = 0; i < original_floats.size(); i++) original_floats[i] = i + (i * 0.5f); Array copied_floats(original_floats); copied_floats[1] = 42.42f; std::cout << std::endl << CLR_GREEN << "[ Original ]" << CLR_RESET << std::endl << std::endl << original_floats; std::cout << std::endl << CLR_GREEN << "[ Copied (modified) ]" << CLR_RESET << std::endl << std::endl << copied_floats << std::endl; std::cout << CLR_YELLOW << "\t[ Testing with a tab with integer ]" << CLR_RESET << std::endl; Array digits(42); std::srand(time(NULL)); for (unsigned int i = 0; i < digits.size(); i++) { try { digits[i] = std::rand(); } catch (std::exception &e) { std::cerr << CLR_RED << e.what() << CLR_RESET << std::endl; } } std::cout << std::endl << digits << CLR_RESET << std::endl; std::cout << CLR_YELLOW << "\t[ Testing out of bands (too far above)]" << CLR_RESET << std::endl; try { digits[99]; } catch (std::exception &e) { std::cerr << CLR_RED << e.what() << CLR_RESET << std::endl; } std::cout << CLR_YELLOW << "\t[ Testing out of bands (too far below)]" << CLR_RESET << std::endl; try { digits[-42]; } catch (std::exception &e) { std::cerr << CLR_RED << e.what() << CLR_RESET << std::endl; } }