Skip to content
This repository has been archived by the owner on Jul 31, 2018. It is now read-only.

Commit

Permalink
a bash script for running test cases has been added
Browse files Browse the repository at this point in the history
  • Loading branch information
mreza-kiani committed Dec 8, 2017
1 parent 1166c20 commit 7c82330
Show file tree
Hide file tree
Showing 9 changed files with 208 additions and 7 deletions.
18 changes: 15 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion main-with-inaquate-teams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
1 change: 1 addition & 0 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
28 changes: 25 additions & 3 deletions run.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
make clean
#!/bin/bash

make
OUTPUT_DIR=output
TEST_CASE_DIR=testcase

./a.out
# 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
33 changes: 33 additions & 0 deletions testcase/out_1
Original file line number Diff line number Diff line change
@@ -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
33 changes: 33 additions & 0 deletions testcase/out_2
Original file line number Diff line number Diff line change
@@ -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
33 changes: 33 additions & 0 deletions testcase/out_3
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions testcase/out_4
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Inadequate players in Barcelona
Inadequate teams
63 changes: 63 additions & 0 deletions testcase/out_5
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7c82330

Please sign in to comment.