#!perl # Test TST format read and write # Astro::Catalog test harness use Test::More tests => 10; # strict use strict; #load test use File::Spec; use File::Temp; # load modules require_ok("Astro::Catalog"); my $cat = new Astro::Catalog( Format => 'TST', Data => \*DATA ); isa_ok( $cat, "Astro::Catalog" ); # Test out the fourth object. my @stars = $cat->stars; my $star = $stars[3]; is( $star->id, "Obj. 4", "TST Star ID" ); is( $star->ra, "05 17 36.30", "TST Star RA" ); is( $star->dec, "-06 50 40.00", "TST Star Dec" ); # Write out a file, then read it back in. my $fh = new File::Temp; my $tempfile = $fh->filename; ok( $cat->write_catalog( Format => 'TST', File => $tempfile ), "Writing catalogue to disk" ); my $newcat = new Astro::Catalog( Format => 'TST', File => $tempfile ); isa_ok( $newcat, "Astro::Catalog" ); my @newstars = $newcat->stars; my $newstar = $newstars[3]; my $newid = $newstar->id; my $newra = $newstar->ra; my $newdec = $newstar->dec; is( $newid, $star->id, "TST written catalogue ID" ); is( $newra, $star->ra, "TST written catalogue RA" ); is( $newdec, $star->dec, "TST written catalogue Dec" ); exit; # D A T A B L O C K -------------------------------------------------------- __DATA__ Simple TST example; stellar photometry catalogue. A.C. Davenhall (Edinburgh) 26/7/00. Catalogue of U,B,V colours. UBV photometry from Mount Pumpkin Observatory, see Sage, Rosemary and Thyme (1988). # Start of parameter definitions. EQUINOX: J2000.0 EPOCH: J1996.35 # End of parameter definitions. #column-units: Hours Degrees Magnitudes Magnitudes Magnitudes #column-types: CHAR*6 DOUBLE DOUBLE REAL REAL REAL #column-formats: A6 D13.6 D13.6 F6.2 F6.2 F6.2 Id ra dec V B_V U_B -- -- --- - --- --- Obj. 1 5:09:08.7 -8:45:15 4.27 -0.19 -0.90 Obj. 2 5:07:50.9 -5:05:11 2.79 +0.13 +0.10 Obj. 3 5:01:26.3 -7:10:26 4.81 -0.19 -0.74 Obj. 4 5:17:36.3 -6:50:40 3.60 -0.11 -0.47