mirror of
https://github.com/cosinekitty/astronomy.git
synced 2026-05-18 22:01:42 -04:00
Refactored demo tests.
I refactored the unit tests for all the demo programs to follow a different pattern that makes it simpler to add more demo tests in the future. The main thing is that correct output and generated output are now in separate directories `correct` and `test`. I have moved the test scripts from `test/test` to `./demotest` in all the langauge demo directories. This makes it simpler to clean up any stale generated files before each test run by `rm -f test/*.txt`. I stumbled across this while making the Java demo tests, and it was a better solution, so now all the other languages are consistent with the Java demo tests. In the C demo tests, I also decided to compile all the binary executables into a subdirectory `bin` that can be cleaned out before each run, to make sure there are no stale executables from an earlier run.
This commit is contained in:
@@ -13,9 +13,11 @@ else
|
||||
Fail "unrecognized command line option"
|
||||
fi
|
||||
|
||||
mkdir -p bin
|
||||
for name in gravity galactic camera moonphase positions linux_riseset riseset seasons culminate horizon lunar_eclipse triangulate; do
|
||||
rm -f bin/${name}
|
||||
echo "Compiling ${name}.c"
|
||||
gcc ${BUILDOPT} -Wall -Werror -o ${name} -I../../source/c ../../source/c/astronomy.c astro_demo_common.c ${name}.c -lm ||
|
||||
gcc ${BUILDOPT} -Wall -Werror -o bin/${name} -I../../source/c ../../source/c/astronomy.c astro_demo_common.c ${name}.c -lm ||
|
||||
Fail "Error building ${name}.c"
|
||||
done
|
||||
|
||||
|
||||
70
demo/c/demotest
Executable file
70
demo/c/demotest
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
Fail()
|
||||
{
|
||||
echo "FATAL(demo/c/demotest): $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
rm -f test/*.txt
|
||||
mkdir -p test
|
||||
./build || Fail "Error building example programs."
|
||||
|
||||
echo "Testing example: camera.c"
|
||||
bin/camera 29 -81 2021-03-22T02:45:00Z > test/camera.txt || Fail "Error testing camera.c."
|
||||
diff {correct,test}/camera.txt || Fail "Error comparing camera.c output."
|
||||
|
||||
echo "Testing example: moonphase.c"
|
||||
bin/moonphase 2019-06-15T09:15:32.987Z > test/moonphase.txt || Fail "Error testing moonphase.c."
|
||||
diff {correct,test}/moonphase.txt || Fail "Error comparing moonphase.c output."
|
||||
|
||||
echo "Testing example: positions.c"
|
||||
bin/positions +45.6 -90.7 2018-11-30T17:55:07.234Z > test/positions.txt || Fail "Error testing positions.c."
|
||||
diff {correct,test}/positions.txt || Fail "Error comparing positions.c output."
|
||||
|
||||
# Another test to check for a problem I found with putting "60" in the seconds field.
|
||||
bin/positions 20.8 -75.2 2020-07-09T08:30:00Z > test/positions2.txt || Fail "Error in second call to positions.c."
|
||||
diff {correct,test}/positions2.txt || Fail "Error comparing positions.c output #2."
|
||||
|
||||
echo "Testing example: riseset.c"
|
||||
bin/riseset 45 -90 2019-06-14T21:45:25Z > test/riseset.txt || Fail "Error testing riseset.c."
|
||||
diff {correct,test}/riseset.txt || Fail "Error comparing riseset.c output."
|
||||
|
||||
echo "Testing example: seasons.c"
|
||||
bin/seasons 2020 > test/seasons.txt || Fail "Error testing seasons.c."
|
||||
diff {correct,test}/seasons.txt || Fail "Error comparing seasons.c output."
|
||||
|
||||
echo "Testing example: culminate.c"
|
||||
bin/culminate +30 -90 2015-02-28T00:00:00Z > test/culminate.txt || Fail "Error testing culminate.c."
|
||||
diff {correct,test}/culminate.txt || Fail "Error comparing culminate.c output."
|
||||
|
||||
echo "Testing example: horizon.c"
|
||||
bin/horizon +25.5 -85.3 2016-12-25T12:30:45Z > test/horizon.txt || Fail "Error testing horizon.c."
|
||||
diff {correct,test}/horizon.txt || Fail "Error comparing horizon.c output."
|
||||
|
||||
echo "Testing example: lunar_eclipse.c"
|
||||
bin/lunar_eclipse 1988-01-01T00:00:00Z > test/lunar_eclipse.txt || Fail "Error running lunar_eclipse.c."
|
||||
diff {correct,test}/lunar_eclipse.txt || Fail "Error comparing lunar_eclipse.c output."
|
||||
|
||||
echo "Testing example: galactic.c"
|
||||
bin/galactic 38.92056 -77.0658 22.793498 197.070510 2025-04-06T00:00:00Z > test/galactic.txt || Fail "Error running galactic.c."
|
||||
diff {correct,test}/galactic.txt || Fail "Error comparing galactic.c output."
|
||||
|
||||
echo "Testing example: triangulate.c"
|
||||
bin/triangulate 48.16042 24.49986 2019 18 7 48.27305 24.36401 662 83 12 > test/triangulate.txt || Fail "Error running triangulate.c."
|
||||
diff {correct,test}/triangulate.txt || Fail "Error comparing triangulate.c output."
|
||||
|
||||
echo "Testing example: gravity.c"
|
||||
for latitude in {0..90}; do
|
||||
bin/gravity ${latitude} 0 >> test/gravity.txt || Fail "Error running gravity.c."
|
||||
done
|
||||
diff {correct,test}/gravity.txt || Fail "Error comparing gravity.c output."
|
||||
|
||||
cd raytrace || Fail "error changing to raytrace directory"
|
||||
./build || Fail "build raytracer"
|
||||
./run || Fail "run raytracer"
|
||||
cd ..
|
||||
|
||||
./run_worldmap || Fail "error in run_worldmap"
|
||||
|
||||
echo "PASS: C examples"
|
||||
exit 0
|
||||
@@ -13,9 +13,11 @@ else
|
||||
Fail "unrecognized command line option"
|
||||
fi
|
||||
|
||||
mkdir -p bin
|
||||
for name in linux_riseset ; do
|
||||
rm -r bin/${name}
|
||||
echo "Compiling ${name}.c"
|
||||
gcc ${BUILDOPT} -Wall -Werror -o ${name} -I../../source/c ../../source/c/astronomy.c astro_demo_common.c ${name}.c -lm ||
|
||||
gcc ${BUILDOPT} -Wall -Werror -o bin/${name} -I../../source/c ../../source/c/astronomy.c astro_demo_common.c ${name}.c -lm ||
|
||||
Fail "Error building ${name}.c"
|
||||
done
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ else
|
||||
BUILDOPT='-O3'
|
||||
fi
|
||||
|
||||
rm -f raytrace
|
||||
|
||||
g++ -Wall -Werror -x c++ -std=c++11 -o raytrace $BUILDOPT \
|
||||
-I.. -I../../../source/c \
|
||||
*.cpp ../astro_demo_common.c ../../../source/c/astronomy.c
|
||||
|
||||
@@ -8,7 +8,9 @@ fi
|
||||
|
||||
echo "run_worldmap: building C++ code"
|
||||
|
||||
g++ -Wall -Werror -x c++ -std=c++11 -o worldmap $BUILDOPT \
|
||||
rm -f bin/worldmap
|
||||
mkdir -p bin
|
||||
g++ -Wall -Werror -x c++ -std=c++11 -o bin/worldmap $BUILDOPT \
|
||||
-I./raytrace -I../../source/c \
|
||||
worldmap.cpp astro_demo_common.c ../../source/c/astronomy.c raytrace/lodepng.cpp \
|
||||
|| exit $?
|
||||
@@ -16,9 +18,9 @@ g++ -Wall -Werror -x c++ -std=c++11 -o worldmap $BUILDOPT \
|
||||
echo "run_worldmap: creating image"
|
||||
|
||||
rm -f sun_moon_map.png test/worldmap.txt
|
||||
time ./worldmap sun_moon_map.png 2022-04-09T16:05:35Z > test/worldmap.txt || exit $?
|
||||
time bin/worldmap sun_moon_map.png 2022-04-09T16:05:35Z > test/worldmap.txt || exit $?
|
||||
more test/worldmap.txt || exit $?
|
||||
if ! diff test/worldmap{,_correct}.txt; then
|
||||
if ! diff {correct,test}/worldmap.txt; then
|
||||
echo "run_worldmap: FAIL - incorrect zenith location output."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/bin/bash
|
||||
Fail()
|
||||
{
|
||||
echo "FATAL(demo/c/test/test): $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
rm -f camera moonphase positions riseset seasons culminate horizon lunar_eclipse galactic triangulate gravity
|
||||
rm -f test/{camera,moonphase,positions,positions2,riseset,seasons,culminate,horizon,lunar_eclipse,galactic,triangulate,gravity}.txt
|
||||
./build || Fail "Error building example programs."
|
||||
|
||||
echo "Testing example: camera.c"
|
||||
./camera 29 -81 2021-03-22T02:45:00Z > test/camera.txt || Fail "Error testing camera.c."
|
||||
diff test/camera.txt test/camera_correct.txt || Fail "Error comparing camera.c output."
|
||||
|
||||
echo "Testing example: moonphase.c"
|
||||
./moonphase 2019-06-15T09:15:32.987Z > test/moonphase.txt || Fail "Error testing moonphase.c."
|
||||
diff test/moonphase.txt test/moonphase_correct.txt || Fail "Error comparing moonphase.c output."
|
||||
|
||||
echo "Testing example: positions.c"
|
||||
./positions +45.6 -90.7 2018-11-30T17:55:07.234Z > test/positions.txt || Fail "Error testing positions.c."
|
||||
diff test/positions.txt test/positions_correct.txt || Fail "Error comparing positions.c output."
|
||||
|
||||
# Another test to check for a problem I found with putting "60" in the seconds field.
|
||||
./positions 20.8 -75.2 2020-07-09T08:30:00Z > test/positions2.txt || Fail "Error in second call to positions.c."
|
||||
diff test/positions2.txt test/positions2_correct.txt || Fail "Error comparing positions.c output #2."
|
||||
|
||||
echo "Testing example: riseset.c"
|
||||
./riseset 45 -90 2019-06-14T21:45:25Z > test/riseset.txt || Fail "Error testing riseset.c."
|
||||
diff test/riseset.txt test/riseset_correct.txt || Fail "Error comparing riseset.c output."
|
||||
|
||||
echo "Testing example: seasons.c"
|
||||
./seasons 2020 > test/seasons.txt || Fail "Error testing seasons.c."
|
||||
diff test/seasons.txt test/seasons_correct.txt || Fail "Error comparing seasons.c output."
|
||||
|
||||
echo "Testing example: culminate.c"
|
||||
./culminate +30 -90 2015-02-28T00:00:00Z > test/culminate.txt || Fail "Error testing culminate.c."
|
||||
diff test/culminate.txt test/culminate_correct.txt || Fail "Error comparing culminate.c output."
|
||||
|
||||
echo "Testing example: horizon.c"
|
||||
./horizon +25.5 -85.3 2016-12-25T12:30:45Z > test/horizon.txt || Fail "Error testing horizon.c."
|
||||
diff test/horizon.txt test/horizon_correct.txt || Fail "Error comparing horizon.c output."
|
||||
|
||||
echo "Testing example: lunar_eclipse.c"
|
||||
./lunar_eclipse 1988-01-01T00:00:00Z > test/lunar_eclipse.txt || Fail "Error running lunar_eclipse.c."
|
||||
diff test/lunar_eclipse.txt test/lunar_eclipse_correct.txt || Fail "Error comparing lunar_eclipse.c output."
|
||||
|
||||
echo "Testing example: galactic.c"
|
||||
./galactic 38.92056 -77.0658 22.793498 197.070510 2025-04-06T00:00:00Z > test/galactic.txt || Fail "Error running galactic.c."
|
||||
diff test/galactic.txt test/galactic_correct.txt || Fail "Error comparing galactic.c output."
|
||||
|
||||
echo "Testing example: triangulate.c"
|
||||
./triangulate 48.16042 24.49986 2019 18 7 48.27305 24.36401 662 83 12 > test/triangulate.txt || Fail "Error running triangulate.c."
|
||||
diff test/triangulate.txt test/triangulate_correct.txt || Fail "Error comparing triangulate.c output."
|
||||
|
||||
echo "Testing example: gravity.c"
|
||||
for latitude in {0..90}; do
|
||||
./gravity ${latitude} 0 >> test/gravity.txt || Fail "Error running gravity.c."
|
||||
done
|
||||
diff test/gravity.txt test/gravity_correct.txt || Fail "Error comparing gravity.c output."
|
||||
|
||||
cd raytrace || Fail "error changing to raytrace directory"
|
||||
./build || Fail "build raytracer"
|
||||
./run || Fail "run raytracer"
|
||||
cd ..
|
||||
|
||||
./run_worldmap || Fail "error in run_worldmap"
|
||||
|
||||
echo "PASS: C examples"
|
||||
exit 0
|
||||
@@ -1,54 +1,55 @@
|
||||
#!/bin/bash
|
||||
Fail()
|
||||
{
|
||||
echo "FATAL(demo/csharp/test/test): $1"
|
||||
echo "FATAL(demo/csharp/demotest): $1"
|
||||
exit 1
|
||||
}
|
||||
rm -rf exe
|
||||
rm -f test/{camera,moonphase,positions,riseset,seasons,culminate,horizon,lunar_eclipse,triangulate,gravity}.txt
|
||||
rm -f test/*.txt
|
||||
mkdir -p test
|
||||
dotnet build --output ${PWD}/exe || Fail "Error building ${PWD}/demo.sln"
|
||||
|
||||
echo "Testing example: camera.cs"
|
||||
exe/camera 29 -81 2021-03-22T02:45:00Z > test/camera.txt || Fail "Error testing camera.cs."
|
||||
diff test/camera.txt test/camera_correct.txt || Fail "Error comparing camera.cs output."
|
||||
diff {correct,test}/camera.txt || Fail "Error comparing camera.cs output."
|
||||
|
||||
echo "Testing example: moonphase.cs"
|
||||
exe/moonphase 2019-06-15T09:15:32.987Z > test/moonphase.txt || Fail "Error testing moonphase.cs"
|
||||
diff test/moonphase.txt test/moonphase_correct.txt || Fail "Error comparing moonphase.cs output."
|
||||
diff {correct,test}/moonphase.txt || Fail "Error comparing moonphase.cs output."
|
||||
|
||||
echo "Testing example: positions.cs"
|
||||
exe/positions +45.6 -90.7 2018-11-30T17:55:07.234Z > test/positions.txt || Fail "Error testing positions.cs"
|
||||
diff test/positions.txt test/positions_correct.txt || Fail "Error comparing positions.cs output."
|
||||
diff {correct,test}/positions.txt || Fail "Error comparing positions.cs output."
|
||||
|
||||
echo "Testing example: riseset.cs"
|
||||
exe/riseset 45 -90 2019-06-14T21:45:25Z > test/riseset.txt || Fail "Error testing riseset.cs"
|
||||
diff test/riseset.txt test/riseset_correct.txt || Fail "Error comparing riseset.cs output."
|
||||
diff {correct,test}/riseset.txt || Fail "Error comparing riseset.cs output."
|
||||
|
||||
echo "Testing example: seasons.cs"
|
||||
exe/seasons 2020 > test/seasons.txt || Fail "Error testing seasons.cs"
|
||||
diff test/seasons.txt test/seasons_correct.txt || Fail "Error comparing seasons.cs output."
|
||||
diff {correct,test}/seasons.txt || Fail "Error comparing seasons.cs output."
|
||||
|
||||
echo "Testing example: culminate.cs"
|
||||
exe/culminate +30 -90 2015-02-28T00:00:00Z > test/culminate.txt || Fail "Error testing culminate.cs."
|
||||
diff test/culminate.txt test/culminate_correct.txt || Fail "Error comparing culminate.cs output."
|
||||
diff {correct,test}/culminate.txt || Fail "Error comparing culminate.cs output."
|
||||
|
||||
echo "Testing example: horizon.cs"
|
||||
exe/horizon +25.5 -85.3 2016-12-25T12:30:45Z > test/horizon.txt || Fail "Error testing horizon.cs"
|
||||
diff test/horizon.txt test/horizon_correct.txt || Fail "Error comparing horizon.cs output."
|
||||
diff {correct,test}/horizon.txt || Fail "Error comparing horizon.cs output."
|
||||
|
||||
echo "Testing example: lunar_eclipse.cs"
|
||||
exe/lunar_eclipse 1988-01-01T00:00:00Z > test/lunar_eclipse.txt || Fail "Error running lunar_eclipse.cs."
|
||||
diff test/lunar_eclipse.txt test/lunar_eclipse_correct.txt || Fail "Error comparing lunar_eclipse.cs output."
|
||||
diff {correct,test}/lunar_eclipse.txt || Fail "Error comparing lunar_eclipse.cs output."
|
||||
|
||||
echo "Testing example: triangulate.cs"
|
||||
exe/triangulate 48.16042 24.49986 2019 18 7 48.27305 24.36401 662 83 12 > test/triangulate.txt || Fail "Error running triangulate.cs."
|
||||
diff test/triangulate.txt test/triangulate_correct.txt || Fail "Error comparing triangulate.cs output."
|
||||
diff {correct,test}/triangulate.txt || Fail "Error comparing triangulate.cs output."
|
||||
|
||||
echo "Testing example: gravity.cs"
|
||||
for latitude in {0..90}; do
|
||||
exe/gravity ${latitude} 0 >> test/gravity.txt || Fail "Error running gravity.cs."
|
||||
done
|
||||
diff test/gravity.txt test/gravity_correct.txt || Fail "Error comparing gravity.cs output."
|
||||
diff {correct,test}/gravity.txt || Fail "Error comparing gravity.cs output."
|
||||
|
||||
echo "PASS: C# examples"
|
||||
exit 0
|
||||
@@ -4,7 +4,7 @@
|
||||
"description": "Demo of enumerating interesting astronomy events for a calendar.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "../../../generate/node_modules/typescript/bin/tsc && node dist/calendar.js > test/calendar.txt && diff test/calendar_correct.txt test/calendar.txt"
|
||||
"test": "../../../generate/node_modules/typescript/bin/tsc && node dist/calendar.js > test/calendar.txt && diff correct/calendar.txt test/calendar.txt"
|
||||
},
|
||||
"author": "Don Cross <cosinekitty@gmail.com>",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -6,5 +6,6 @@ Fail()
|
||||
}
|
||||
|
||||
cp ../../../source/js/astronomy.ts . || Fail "Error copying astronomy TypeScript code."
|
||||
rm -f test/*.txt
|
||||
npm test || Fail "Error in unit test."
|
||||
exit 0
|
||||
|
||||
@@ -1,61 +1,62 @@
|
||||
#!/bin/bash
|
||||
Fail()
|
||||
{
|
||||
echo "FATAL(demo/nodejs/test/test): $1"
|
||||
echo "FATAL(demo/nodejs/demotest): $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
rm -f test/{equatorial,equator_of_date,camera,moonphase,positions,riseset,seasons,culminate,horizon,lunar_eclipse,triangulate,gravity}.txt
|
||||
rm -f test/*.txt
|
||||
mkdir -p test
|
||||
|
||||
echo "Testing example: equatorial.js"
|
||||
node equatorial.js 38.1256 -89.5544 215.7 23.5 2021-03-27T18:45:00Z > test/equatorial.txt || Fail "Error testing equatorial.js."
|
||||
diff test/equatorial.txt test/equatorial_correct.txt || Fail "Error comparing equatorial.js output."
|
||||
diff {correct,test}/equatorial.txt || Fail "Error comparing equatorial.js output."
|
||||
|
||||
echo "Testing example: equator_of_date.js"
|
||||
node equator_of_date.js a 12 45 2021-07-06T00:00:00Z > test/equator_of_date.txt || Fail "Error testing equator_of_date.js"
|
||||
diff test/equator_of_date.txt test/equator_of_date_correct.txt || Fail "Error comparing equator_of_date.js output."
|
||||
diff {correct,test}/equator_of_date.txt || Fail "Error comparing equator_of_date.js output."
|
||||
|
||||
echo "Testing example: camera.js"
|
||||
node camera.js 29 -81 2021-03-22T02:45:00Z > test/camera.txt || Fail "Error testing camera.js."
|
||||
diff test/camera.txt test/camera_correct.txt || Fail "Error comparing camera.js output."
|
||||
diff {correct,test}/camera.txt || Fail "Error comparing camera.js output."
|
||||
|
||||
echo "Testing example: moonphase.js"
|
||||
node moonphase.js 2019-06-15T09:15:32.987Z > test/moonphase.txt || Fail "Error running moonphase.js."
|
||||
diff test/moonphase.txt test/moonphase_correct.txt || Fail "Error comparing moonphase.js output."
|
||||
diff {correct,test}/moonphase.txt || Fail "Error comparing moonphase.js output."
|
||||
|
||||
echo "Testing example: positions.js"
|
||||
node positions.js +45.6 -90.7 2018-11-30T17:55:07.234Z > test/positions.txt || Fail "Error running positions.js."
|
||||
diff test/positions.txt test/positions_correct.txt || Fail "Error comparing positions.js output."
|
||||
diff {correct,test}/positions.txt || Fail "Error comparing positions.js output."
|
||||
|
||||
echo "Testing example: riseset.js"
|
||||
node riseset.js +45.6 -90.7 2018-11-30T17:55:07.234Z > test/riseset.txt || Fail "Error running riseset.js."
|
||||
diff test/riseset.txt test/riseset_correct.txt || Fail "Error comparing riseset.js output."
|
||||
diff {correct,test}/riseset.txt || Fail "Error comparing riseset.js output."
|
||||
|
||||
echo "Testing example: seasons.js"
|
||||
node seasons.js 2019 > test/seasons.txt || Fail "Error running seasons.js."
|
||||
diff test/seasons.txt test/seasons_correct.txt || Fail "Error comparing seasons.js output."
|
||||
diff {correct,test}/seasons.txt || Fail "Error comparing seasons.js output."
|
||||
|
||||
echo "Testing example: culminate.js"
|
||||
node culminate +30 -90 2015-02-28T00:00Z > test/culminate.txt || Fail "Error running culminate.js."
|
||||
diff test/culminate.txt test/culminate_correct.txt || Fail "Error comparing culminate.js output."
|
||||
diff {correct,test}/culminate.txt || Fail "Error comparing culminate.js output."
|
||||
|
||||
echo "Testing example: horizon.js"
|
||||
node horizon +25.5 -85.3 2016-12-25T12:30:45Z > test/horizon.txt || Fail "Error running horizon.js."
|
||||
diff test/horizon.txt test/horizon_correct.txt || Fail "Error comparing horizon.js output."
|
||||
diff {correct,test}/horizon.txt || Fail "Error comparing horizon.js output."
|
||||
|
||||
echo "Testing example: lunar_eclipse.js"
|
||||
node lunar_eclipse.js 1988-01-01 > test/lunar_eclipse.txt || Fail "Error running lunar_eclipse.js."
|
||||
diff test/lunar_eclipse.txt test/lunar_eclipse_correct.txt || Fail "Error comparing lunar_eclipse.js output."
|
||||
diff {correct,test}/lunar_eclipse.txt || Fail "Error comparing lunar_eclipse.js output."
|
||||
|
||||
echo "Testing example: triangulate.js"
|
||||
node triangulate.js 48.16042 24.49986 2019 18 7 48.27305 24.36401 662 83 12 > test/triangulate.txt || Fail "Error running triangulate.js."
|
||||
diff test/triangulate.txt test/triangulate_correct.txt || Fail "Error comparing triangulate.js output."
|
||||
diff {correct,test}/triangulate.txt || Fail "Error comparing triangulate.js output."
|
||||
|
||||
echo "Testing example: gravity.js"
|
||||
for latitude in {0..90}; do
|
||||
node gravity.js ${latitude} 0 >> test/gravity.txt || Fail "Error running gravity.js."
|
||||
done
|
||||
diff test/gravity.txt test/gravity_correct.txt || Fail "Error comparing gravity.js output."
|
||||
diff {correct,test}/gravity.txt || Fail "Error comparing gravity.js output."
|
||||
|
||||
cd calendar || Fail "Cannot change to calendar directory."
|
||||
./run || exit 1
|
||||
@@ -1,73 +1,74 @@
|
||||
#!/bin/bash
|
||||
Fail()
|
||||
{
|
||||
echo "FATAL(demo/python/test/test): $1"
|
||||
echo "FATAL(demo/python/demotest): $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
rm -f test/{jupiter_moons,camera,constellation,moonphase,positions,riseset,seasons,culminate,horizon,lunar_eclipse,lunar_angles,galactic,triangulate,gravity,stars_near_moon}.txt
|
||||
rm -f test/*.txt
|
||||
mkdir -p test
|
||||
|
||||
echo "Testing example: jupiter_moons.py"
|
||||
./jupiter_moons.py 2021-04-16T00:26:18Z > test/jupiter_moons.txt || Fail "Error testing jupiter_moons.py."
|
||||
diff test/jupiter_moons.txt test/jupiter_moons_correct.txt || Fail "Error comparing jupiter_moons.py output."
|
||||
diff {correct,test}/jupiter_moons.txt || Fail "Error comparing jupiter_moons.py output."
|
||||
|
||||
echo "Testing example: camera.py"
|
||||
./camera.py 29 -81 2021-03-22T02:45:00Z > test/camera.txt || Fail "Error testing camera.py."
|
||||
diff test/camera.txt test/camera_correct.txt || Fail "Error comparing camera.py output."
|
||||
diff {correct,test}/camera.txt || Fail "Error comparing camera.py output."
|
||||
|
||||
echo "Testing example: constellation.py"
|
||||
./constellation.py 2021-06-01T00:00:00Z > test/constellation.txt || Fail "Error testing constellation.py."
|
||||
diff test/constellation.txt test/constellation_correct.txt || Fail "Error comparing constellation.py output."
|
||||
diff {correct,test}/constellation.txt || Fail "Error comparing constellation.py output."
|
||||
|
||||
echo "Testing example: moonphase.py"
|
||||
./moonphase.py 2019-06-15T09:15:32.987Z > test/moonphase.txt || Fail "Error running moonphase.py."
|
||||
diff test/moonphase.txt test/moonphase_correct.txt || Fail "Error comparing moonphase.py output."
|
||||
diff {correct,test}/moonphase.txt || Fail "Error comparing moonphase.py output."
|
||||
|
||||
echo "Testing example: riseset.py"
|
||||
./riseset.py +45.6 -90.7 2018-11-30T17:55:07.234Z > test/riseset.txt || Fail "Error running riseset.py."
|
||||
diff test/riseset.txt test/riseset_correct.txt || Fail "Error comparing riseset.py output."
|
||||
diff {correct,test}/riseset.txt || Fail "Error comparing riseset.py output."
|
||||
|
||||
echo "Testing example: positions.py"
|
||||
./positions.py +45.6 -90.7 2018-11-30T17:55:07.234Z > test/positions.txt || Fail "Error running positions.py."
|
||||
diff test/positions.txt test/positions_correct.txt || Fail "Error comparing positions.py output."
|
||||
diff {correct,test}/positions.txt || Fail "Error comparing positions.py output."
|
||||
|
||||
echo "Testing example: seasons.py"
|
||||
./seasons.py 2019 > test/seasons.txt || Fail "Error running seasons.py."
|
||||
diff test/seasons.txt test/seasons_correct.txt || Fail "Error comparing seasons.py output."
|
||||
diff {correct,test}/seasons.txt || Fail "Error comparing seasons.py output."
|
||||
|
||||
echo "Testing example: culminate.py"
|
||||
./culminate.py +30 -90 2015-02-28T00:00:00Z > test/culminate.txt || Fail "Error running culminate.py."
|
||||
diff test/culminate.txt test/culminate_correct.txt || Fail "Error comparing culminate.py output."
|
||||
diff {correct,test}/culminate.txt || Fail "Error comparing culminate.py output."
|
||||
|
||||
echo "Testing example: horizon.py"
|
||||
./horizon.py +25.5 -85.3 2016-12-25T12:30:45Z > test/horizon.txt || Fail "Error running horizon.py."
|
||||
diff test/horizon.txt test/horizon_correct.txt || Fail "Error comparing horizon.py output."
|
||||
diff {correct,test}/horizon.txt || Fail "Error comparing horizon.py output."
|
||||
|
||||
echo "Testing example: lunar_eclipse.py"
|
||||
./lunar_eclipse.py 1988-01-01 > test/lunar_eclipse.txt || Fail "Error running lunar_eclipse.py."
|
||||
diff test/lunar_eclipse.txt test/lunar_eclipse_correct.txt || Fail "Error comparing lunar_eclipse.py output."
|
||||
diff {correct,test}/lunar_eclipse.txt || Fail "Error comparing lunar_eclipse.py output."
|
||||
|
||||
echo "Testing example: lunar_angles.py"
|
||||
./lunar_angles.py 2021-05-15 > test/lunar_angles.txt || Fail "Error running lunar_angles.py."
|
||||
diff test/lunar_angles.txt test/lunar_angles_correct.txt || Fail "Error comparing lunar_angles.py output."
|
||||
diff {correct,test}/lunar_angles.txt || Fail "Error comparing lunar_angles.py output."
|
||||
|
||||
echo "Testing example: galactic.py"
|
||||
./galactic.py 38.92056 -77.0658 22.793498 197.070510 2025-04-06T00:00:00Z > test/galactic.txt || Fail "Error running galactic.py."
|
||||
diff test/galactic.txt test/galactic_correct.txt || Fail "Error comparing galactic.py output."
|
||||
diff {correct,test}/galactic.txt || Fail "Error comparing galactic.py output."
|
||||
|
||||
echo "Testing example: triangulate.py"
|
||||
./triangulate.py 48.16042 24.49986 2019 18 7 48.27305 24.36401 662 83 12 > test/triangulate.txt || Fail "Error running triangulate.py."
|
||||
diff test/triangulate.txt test/triangulate_correct.txt || Fail "Error comparing triangulate.py output."
|
||||
diff {correct,test}/triangulate.txt || Fail "Error comparing triangulate.py output."
|
||||
|
||||
echo "Testing example: gravity.py"
|
||||
for latitude in {0..90}; do
|
||||
./gravity.py ${latitude} 0 >> test/gravity.txt || Fail "Error running gravity.py."
|
||||
done
|
||||
diff test/gravity.txt test/gravity_correct.txt || Fail "Error comparing gravity.py output."
|
||||
diff {correct,test}/gravity.txt || Fail "Error comparing gravity.py output."
|
||||
|
||||
echo "Testing example: stars_near_moon.py"
|
||||
./stars_near_moon.py 30 -80 2021-11-08T23:00:00Z >> test/stars_near_moon.txt || Fail "Error running stars_near_moon.py"
|
||||
diff test/stars_near_moon.txt test/stars_near_moon_correct.txt || Fail "Error comparing stars_near_moon output."
|
||||
./stars_near_moon.py 30 -80 2021-11-08T23:00:00Z > test/stars_near_moon.txt || Fail "Error running stars_near_moon.py"
|
||||
diff {correct,test}/stars_near_moon.txt || Fail "Error comparing stars_near_moon output."
|
||||
|
||||
echo "PASS: Python examples"
|
||||
exit 0
|
||||
@@ -131,13 +131,13 @@ echo ""
|
||||
echo ""
|
||||
echo "Testing example programs."
|
||||
cd ../demo/c || Fail "Cannot change directory to ../demo/c"
|
||||
test/test || Fail "Error testing C examples"
|
||||
./demotest || Fail "Error testing C examples"
|
||||
cd ../nodejs || Fail "Cannot change directory to ../nodejs"
|
||||
test/test || Fail "Error testing nodejs examples."
|
||||
./demotest || Fail "Error testing nodejs examples."
|
||||
cd ../python || Fail "Cannot change directory to ../python"
|
||||
test/test || Fail "Error testing Python examples."
|
||||
./demotest || Fail "Error testing Python examples."
|
||||
cd ../csharp || Fail "Cannot change directory to ../csharp"
|
||||
test/test || Fail "Error testing C# examples."
|
||||
./demotest || Fail "Error testing C# examples."
|
||||
cd ../java || Fail "Cannot change directory to ../java"
|
||||
./demotest || Fail "Error testing Java examples."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user