-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimple-test-runner.sh
More file actions
executable file
·139 lines (115 loc) · 3.4 KB
/
simple-test-runner.sh
File metadata and controls
executable file
·139 lines (115 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/bash
# Simple Test Runner for Java Program Structure Basics
# This script works without Maven for basic validation
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
print_status() {
echo -e "${BLUE}[INFO]${NC} $1"
}
print_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Check Java installation
check_java() {
if ! command -v java &> /dev/null; then
print_error "Java is not installed or not in PATH"
exit 1
fi
JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d'"' -f2)
print_success "Java version detected: $JAVA_VERSION"
}
# Compile all Java files
compile_project() {
print_status "Compiling Java source code..."
if javac -cp . src/main/java/com/skills/java/*.java; then
print_success "Project compiled successfully"
else
print_error "Compilation failed"
exit 1
fi
}
# Test HelloWorld program
test_helloworld() {
print_status "Testing HelloWorld program..."
cd src/main/java
OUTPUT=$(java com.skills.java.HelloWorld)
cd ../../..
if [ "$OUTPUT" = "Hello, World!" ]; then
print_success "HelloWorld program works correctly"
else
print_error "HelloWorld program output incorrect: '$OUTPUT'"
exit 1
fi
}
# Test UserInputProgram compilation
test_userinput_compilation() {
print_status "Testing UserInputProgram compilation..."
if javac -cp . src/main/java/com/skills/java/UserInputProgram.java; then
print_success "UserInputProgram compiles successfully"
else
print_error "UserInputProgram compilation failed"
exit 1
fi
}
# Test BrokenCode compilation
test_brokencode_compilation() {
print_status "Testing BrokenCode compilation..."
if javac -cp . src/main/java/com/skills/java/BrokenCode.java; then
print_success "BrokenCode compiles successfully"
else
print_error "BrokenCode compilation failed"
exit 1
fi
}
# Test RecipeCalculator compilation
test_recipecalculator_compilation() {
print_status "Testing RecipeCalculator compilation..."
if javac -cp . src/main/java/com/skills/java/RecipeCalculator.java; then
print_success "RecipeCalculator compiles successfully"
else
print_error "RecipeCalculator compilation failed"
exit 1
fi
}
# Show test summary
show_summary() {
echo ""
echo "=========================================="
echo " SIMPLE TEST SUMMARY"
echo "=========================================="
echo ""
echo "Tests completed successfully:"
echo "✓ Java compilation"
echo "✓ HelloWorld program execution"
echo "✓ UserInputProgram compilation"
echo "✓ BrokenCode compilation"
echo "✓ RecipeCalculator compilation"
echo ""
echo "All basic functionality tests passed!"
echo ""
}
# Main execution
main() {
echo "=========================================="
echo " Java Program Structure Basics"
echo " Simple Test Runner"
echo "=========================================="
echo ""
check_java
compile_project
test_helloworld
test_userinput_compilation
test_brokencode_compilation
test_recipecalculator_compilation
show_summary
print_success "Simple test execution completed successfully!"
}
main "$@"