/// <summary> /// Consructor initislizing header,data /// </summary> /// <param name="hdr"></param> /// <param name="datum"></param> public BinaryTableHDU(Header hdr, Data datum) : base((TableData)datum) { myHeader = hdr; myData = datum; table = (BinaryTable) datum; }
public void BuildByColumn() { BinaryTable btab = new BinaryTable(); btab.AddColumn(floats); btab.AddColumn(vf); btab.AddColumn(strings); btab.AddColumn(vbool); btab.AddColumn(ints); Fits f = new Fits(); f.AddHDU(Fits.MakeHDU(btab)); // BufferedDataStream bdos = new BufferedDataStream(new FileStream("bt3.fits",FileMode.Open)); BufferedFile bdos = new BufferedFile("bt3.fits", FileAccess.ReadWrite, FileShare.ReadWrite); f.Write(bdos); bdos.Close(); f = new Fits("bt3.fits"); BinaryTableHDU bhdu = (BinaryTableHDU)f.GetHDU(1); btab = (BinaryTable)bhdu.Data; Assertion.AssertEquals("col1", true, ArrayFuncs.ArrayEquals(floats, bhdu.GetColumn(0))); Assertion.AssertEquals("col2", true, ArrayFuncs.ArrayEquals(vf, bhdu.GetColumn(1))); // problem is here only String[] col = (String[])bhdu.GetColumn(2); for (int i = 0; i < col.Length; i += 1) { col[i] = col[i].Trim(); } Assertion.AssertEquals("coi3", true, ArrayFuncs.ArrayEquals(strings, col)); Assertion.AssertEquals("col4", true, ArrayFuncs.ArrayEquals(vbool, bhdu.GetColumn(3))); Assertion.AssertEquals("col5", true, ArrayFuncs.ArrayEquals(ints, bhdu.GetColumn(4))); f.Close(); }