github.com/sbinet/go-cfitsio@v0.0.0-20140625105338-0307f985659e/phdu_test.go (about) 1 package cfitsio 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 ) 8 9 func TestCreatePHDU(t *testing.T) { 10 curdir, err := os.Getwd() 11 if err != nil { 12 t.Fatalf(err.Error()) 13 } 14 defer os.Chdir(curdir) 15 16 workdir, err := ioutil.TempDir("", "go-cfitsio-test-") 17 if err != nil { 18 t.Fatalf(err.Error()) 19 } 20 defer os.RemoveAll(workdir) 21 22 err = os.Chdir(workdir) 23 if err != nil { 24 t.Fatalf(err.Error()) 25 } 26 27 fname := "new.fits" 28 for _, fct := range []func(){ 29 // create 30 func() { 31 f, err := Create(fname) 32 if err != nil { 33 t.Fatalf("error creating new file [%v]: %v", fname, err) 34 } 35 defer f.Close() 36 37 phdu, err := NewPrimaryHDU(&f, NewDefaultHeader()) 38 if err != nil { 39 t.Fatalf("error creating PHDU: %v", err) 40 } 41 defer phdu.Close() 42 43 hdr := phdu.Header() 44 if hdr.bitpix != 8 { 45 t.Fatalf("expected BITPIX=%v. got %v", 8, hdr.bitpix) 46 } 47 48 name := phdu.Name() 49 if name != "PRIMARY" { 50 t.Fatalf("expected EXTNAME==%v. got %v", "PRIMARY", name) 51 } 52 53 vers := phdu.Version() 54 if vers != 1 { 55 t.Fatalf("expected EXTVER==%v. got %v", 1, vers) 56 } 57 }, 58 // read-back 59 func() { 60 f, err := Open(fname, ReadOnly) 61 if err != nil { 62 t.Fatalf("error opening file [%v]: %v", fname, err) 63 } 64 defer f.Close() 65 66 hdu := f.HDU(0) 67 hdr := hdu.Header() 68 if hdr.bitpix != 8 { 69 t.Fatalf("expected BITPIX=%v. got %v", 8, hdr.bitpix) 70 } 71 72 name := hdu.Name() 73 if name != "PRIMARY" { 74 t.Fatalf("expected EXTNAME==%v. got %v", "PRIMARY", name) 75 } 76 77 vers := hdu.Version() 78 if vers != 1 { 79 t.Fatalf("expected EXTVER==%v. got %v", 1, vers) 80 } 81 }, 82 } { 83 fct() 84 } 85 86 }