From 345608a8859ba971e4301f326bb7020e1f714e7e Mon Sep 17 00:00:00 2001 From: rask24 Date: Mon, 15 Jan 2024 13:22:15 +0900 Subject: [PATCH] update test --- include/push_swap.h | 4 ++-- src/check_args.c | 5 +++-- test/test_is_invalid_argument.cpp | 32 +++++++++++++++---------------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/include/push_swap.h b/include/push_swap.h index 62278d0..3a2f4c8 100644 --- a/include/push_swap.h +++ b/include/push_swap.h @@ -6,7 +6,7 @@ /* By: reasuke +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/10 12:37:54 by reasuke #+# #+# */ -/* Updated: 2024/01/15 13:07:40 by reasuke ### ########.fr */ +/* Updated: 2024/01/15 13:19:05 by reasuke ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,7 +23,7 @@ # include "../libft/libft.h" -void check_args(int argc, char **argv); +int check_args(int argc, char **argv); t_list *generate_stack(int argc, char **argv); diff --git a/src/check_args.c b/src/check_args.c index 5fed3fb..75f6abf 100644 --- a/src/check_args.c +++ b/src/check_args.c @@ -6,7 +6,7 @@ /* By: reasuke +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 14:44:55 by reasuke #+# #+# */ -/* Updated: 2024/01/15 13:07:33 by reasuke ### ########.fr */ +/* Updated: 2024/01/15 13:18:39 by reasuke ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,10 +64,11 @@ static bool _has_duplicate(int argc, char **argv) return (false); } -void check_args(int argc, char **argv) +int check_args(int argc, char **argv) { if (_has_not_digit(argc, argv) || _has_overflow(argc, argv) || _has_duplicate(argc, argv)) exit_with_error(); + return (0); } diff --git a/test/test_is_invalid_argument.cpp b/test/test_is_invalid_argument.cpp index 6364569..f3e3066 100644 --- a/test/test_is_invalid_argument.cpp +++ b/test/test_is_invalid_argument.cpp @@ -6,66 +6,66 @@ extern "C" { #include "push_swap.h" } -TEST(is_invalid_argument, OneArgumentValid) { +TEST(check_args, OneArgumentValid) { int argc = 2; const char *args[] = { "push_swap", "1" }; char **argv = const_cast(args); - EXPECT_FALSE(is_invalid_argument(argc, argv)); + EXPECT_EQ(check_args(argc, argv), 0); } -TEST(is_invalid_argument, ArgumentIsZero) { +TEST(check_args, ArgumentIsZero) { int argc = 2; const char *args[] = { "push_swap", "0" }; char **argv = const_cast(args); - EXPECT_FALSE(is_invalid_argument(argc, argv)); + EXPECT_EQ(check_args(argc, argv), 0); } -TEST(is_invalid_argument, ArgumentIsNegative) { +TEST(check_args, ArgumentIsNegative) { int argc = 2; const char *args[] = { "push_swap", "-42" }; char **argv = const_cast(args); - EXPECT_FALSE(is_invalid_argument(argc, argv)); + EXPECT_EQ(check_args(argc, argv), 0); } -TEST(is_invalid_argument, OneArgumentNonDigit) { +TEST(check_args, OneArgumentNonDigit) { int argc = 2; const char *args[] = { "push_swap", "abc" }; char **argv = const_cast(args); - EXPECT_TRUE(is_invalid_argument(argc, argv)); + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); } -TEST(is_invalid_argument, OneArgumentIncludingNonDigit) { +TEST(check_args, OneArgumentIncludingNonDigit) { int argc = 2; const char *args[] = { "push_swap", "42abc" }; char **argv = const_cast(args); - EXPECT_TRUE(is_invalid_argument(argc, argv)); + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); } -TEST(is_invalid_argument, OneArgumentMaxOverflow) { +TEST(check_args, OneArgumentMaxOverflow) { int argc = 2; const char *args[] = { "push_swap", "2147483648" }; // INT_MAX + 1 char **argv = const_cast(args); - EXPECT_TRUE(is_invalid_argument(argc, argv)); + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); } -TEST(is_invalid_argument, OneArgumentMinOverflow) { +TEST(check_args, OneArgumentMinOverflow) { int argc = 2; const char *args[] = { "push_swap", "-2147483649" }; // INT_MIN - 1 char **argv = const_cast(args); - EXPECT_TRUE(is_invalid_argument(argc, argv)); + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); } -TEST(is_invalid_argument, MultipleArgumentsWithDuplicate) { +TEST(check_args, MultipleArgumentsWithDuplicate) { int argc = 5; const char *args[] = { "push_swap", "1", "3", "5", "1" }; // Duplicate '1' char **argv = const_cast(args); - EXPECT_TRUE(is_invalid_argument(argc, argv)); + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); }