예제 #1
0
        public void TestRowDelete()
        {
            Fits f = null;

            try
            {
                f = new Fits(
                    TestFileSetup.GetTargetFilename(
                        TestFileSetup.GetTargetFilename("bt1.fits")));
                f.Read();

                BinaryTableHDU thdu = (BinaryTableHDU)f.GetHDU(1);

                Assert.AreEqual(50, thdu.NRows);
                thdu.DeleteRows(10, 20);
                Assert.AreEqual(30, thdu.NRows);

                double[] dbl = (double[])thdu.GetColumn(6);
                Assert.AreEqual(dbl[9], doubles[9]);
                Assert.AreEqual(dbl[10], doubles[30]);

                BufferedFile bf =
                    new BufferedFile(
                        TestFileSetup.GetTargetFilename("bt1x.fits"),
                        FileAccess.ReadWrite,
                        FileShare.ReadWrite);

                f.Write(bf);
                bf.Close();
                bf.Dispose();
                f.Close();

                f = new Fits(TestFileSetup.GetTargetFilename("bt1x.fits"));
                f.Read();
                thdu = (BinaryTableHDU)f.GetHDU(1);
                dbl  = (double[])thdu.GetColumn(6);
                Assert.AreEqual(30, thdu.NRows);
                Assert.AreEqual(9, thdu.NCols);
                Assert.AreEqual(dbl[9], doubles[9]);
                Assert.AreEqual(dbl[10], doubles[30]);

                thdu.DeleteRows(20);
                Assert.AreEqual(20, thdu.NRows);
                dbl = (double[])thdu.GetColumn(6);
                Assert.AreEqual(20, dbl.Length);
                Assert.AreEqual(dbl[0], doubles[0]);
                Assert.AreEqual(dbl[19], doubles[39]);
            }
            finally
            {
                if (f != null)
                {
                    f.Close();
                }
            }
        }
예제 #2
0
        public void TestRowDelete()
        {
            Fits f = new Fits("testdocs\\bt1.fits");

            f.Read();

            BinaryTableHDU thdu = (BinaryTableHDU)f.GetHDU(1);

            Assertion.AssertEquals("Del1", 50, thdu.NRows);
            thdu.DeleteRows(10, 20);
            Assertion.AssertEquals("Del2", 30, thdu.NRows);

            double[] dbl = (double[])thdu.GetColumn(6);
            Assertion.AssertEquals("del3", dbl[9], doubles[9]);
            Assertion.AssertEquals("del4", dbl[10], doubles[30]);

            BufferedFile bf = new BufferedFile("bt1x.fits", FileAccess.ReadWrite, FileShare.ReadWrite);

            f.Write(bf);
            bf.Close();
            f.Close();

            f = new Fits("bt1x.fits");
            f.Read();
            thdu = (BinaryTableHDU)f.GetHDU(1);
            dbl  = (double[])thdu.GetColumn(6);
            Assertion.AssertEquals("del5", 30, thdu.NRows);
            Assertion.AssertEquals("del6", 9, thdu.NCols);
            Assertion.AssertEquals("del7", dbl[9], doubles[9]);
            Assertion.AssertEquals("del8", dbl[10], doubles[30]);

            thdu.DeleteRows(20);
            Assertion.AssertEquals("del9", 20, thdu.NRows);
            dbl = (double[])thdu.GetColumn(6);
            Assertion.AssertEquals("del10", 20, dbl.Length);
            Assertion.AssertEquals("del11", dbl[0], doubles[0]);
            Assertion.AssertEquals("del12", dbl[19], doubles[39]);
            f.Close();
        }