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:
Don Cross
2022-04-30 21:01:11 -04:00
parent 7c74730d8e
commit efc59ae6fc
63 changed files with 136 additions and 124 deletions

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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."