diff --git a/Makefile b/Makefile index c37b3d9..85d3b02 100644 --- a/Makefile +++ b/Makefile @@ -2,13 +2,25 @@ CC=g++ CFLAGS=-c HEADERS=match.h player.h round.h stadium.h team.h tournament.h cup.h leg.h -OBJECTS=main.o match.o player.o round.o stadium.o team.o tournament.o cup.o leg.cpp +OBJECTS=match.o player.o round.o stadium.o team.o tournament.o cup.o leg.cpp #defining rules: all: out -out: $(HEADERS) $(OBJECTS) - $(CC) $(OBJECTS) -o out +out: $(HEADERS) $(OBJECTS) main.o + $(CC) $(OBJECTS) main.o -o out + +out_2: $(HEADERS) $(OBJECTS) main-with-extra-players.o + $(CC) $(OBJECTS) main-with-extra-players.o -o out + +out_3: $(HEADERS) $(OBJECTS) main-with-penalty.o + $(CC) $(OBJECTS) main-with-penalty.o -o out + +out_4: $(HEADERS) $(OBJECTS) main-with-inaquate-teams.o + $(CC) $(OBJECTS) main-with-inaquate-teams.o -o out + +out_5: $(HEADERS) $(OBJECTS) main-bigger-testcase.o + $(CC) $(OBJECTS) main-bigger-testcase.o -o out main.o: main.cpp tournament.h $(CC) $(CFLAGS) main.cpp diff --git a/main-with-inaquate-teams.cpp b/main-with-inaquate-teams.cpp index 91db949..705fc9c 100644 --- a/main-with-inaquate-teams.cpp +++ b/main-with-inaquate-teams.cpp @@ -92,7 +92,9 @@ int main(){ // adding other teams ap_cup.simulate(); - + // ap_cup.add_player("Barcelona", "Suarez", 92, STRIKER); + // ap_cup.simulate(); + ap_cup.print_tournament_results(); ap_cup.print_round_results(1); ap_cup.print_team_results("Barcelona"); diff --git a/main.cpp b/main.cpp index 495eac4..4eb79ca 100644 --- a/main.cpp +++ b/main.cpp @@ -94,6 +94,7 @@ int main(){ ap_cup.simulate(); + ap_cup.print_tournament_results(); ap_cup.print_round_results(1); ap_cup.print_team_results("Barcelona"); diff --git a/run.sh b/run.sh index 2059a99..056446f 100755 --- a/run.sh +++ b/run.sh @@ -1,5 +1,27 @@ -make clean +#!/bin/bash -make +OUTPUT_DIR=output +TEST_CASE_DIR=testcase -./a.out \ No newline at end of file +# defining colors +RED="\033[0;31m" +GREEN="\033[0;32m" +NC='\033[0m' # No Color + +MAINS=(main.cpp main-with-extra-players.cpp main-with-penalty.cpp main-with-inaquate-teams.cpp main-bigger-testcase.cpp) +counter=1 +for file in ${MAINS[*]}; do + mkdir $OUTPUT_DIR + yes | cp -i $file "main.cpp" + make clean && make && ./a.out > $OUTPUT_DIR/out_$counter + echo Testcase $counter is running: + if diff $OUTPUT_DIR/out_$counter $TEST_CASE_DIR/out_$counter > /dev/null; then + echo -e "${GREEN}Accepted${NC}" + ((accepted_test_cases++)) + else + echo -e "${RED}Wrong Answer${NC}" + ((wrong_test_cases++)) + fi + + ((counter++)) +done diff --git a/testcase/out_1 b/testcase/out_1 new file mode 100644 index 0000000..568351d --- /dev/null +++ b/testcase/out_1 @@ -0,0 +1,33 @@ +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 2 +1: + Barcelona 2 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Real Madrid +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +Round 2 +1: + Barcelona 2 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Real Madrid diff --git a/testcase/out_2 b/testcase/out_2 new file mode 100644 index 0000000..e479252 --- /dev/null +++ b/testcase/out_2 @@ -0,0 +1,33 @@ +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 1 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 2 +1: + Barcelona 3 - 2 Real Madrid + Real Madrid 2 - 2 Barcelona + => winner: Barcelona +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 1 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 1 Arsenal + => winner: Barcelona +Round 2 +1: + Barcelona 3 - 2 Real Madrid + Real Madrid 2 - 2 Barcelona + => winner: Barcelona diff --git a/testcase/out_3 b/testcase/out_3 new file mode 100644 index 0000000..18ff1d0 --- /dev/null +++ b/testcase/out_3 @@ -0,0 +1,33 @@ +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 2 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 2 +1: + Barcelona 3 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Barcelona +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 2 Arsenal + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 1 +1: + Arsenal 2 - 4 Barcelona + Barcelona 5 - 2 Arsenal + => winner: Barcelona +Round 2 +1: + Barcelona 3 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Barcelona diff --git a/testcase/out_4 b/testcase/out_4 new file mode 100644 index 0000000..79841e6 --- /dev/null +++ b/testcase/out_4 @@ -0,0 +1,2 @@ +Inadequate players in Barcelona +Inadequate teams diff --git a/testcase/out_5 b/testcase/out_5 new file mode 100644 index 0000000..e81a260 --- /dev/null +++ b/testcase/out_5 @@ -0,0 +1,63 @@ +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +2: + Chelse 2 - 2 City + City 2 - 2 Chelse + => winner: City +3: + Liverpool 3 - 2 Milan + Milan 3 - 2 Liverpool + => winner: Liverpool +4: + Real Madrid 3 - 1 United + United 2 - 2 Real Madrid + => winner: Real Madrid +Round 2 +1: + Barcelona 3 - 2 City + City 3 - 3 Barcelona + => winner: Barcelona +2: + Liverpool 2 - 3 Real Madrid + Real Madrid 4 - 1 Liverpool + => winner: Real Madrid +Round 3 +1: + Barcelona 2 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Real Madrid +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +2: + Chelse 2 - 2 City + City 2 - 2 Chelse + => winner: City +3: + Liverpool 3 - 2 Milan + Milan 3 - 2 Liverpool + => winner: Liverpool +4: + Real Madrid 3 - 1 United + United 2 - 2 Real Madrid + => winner: Real Madrid +Round 1 +1: + Arsenal 3 - 3 Barcelona + Barcelona 4 - 2 Arsenal + => winner: Barcelona +Round 2 +1: + Barcelona 3 - 2 City + City 3 - 3 Barcelona + => winner: Barcelona +Round 3 +1: + Barcelona 2 - 2 Real Madrid + Real Madrid 3 - 2 Barcelona + => winner: Real Madrid