Beispiel #1
0
    def test_buffer_export(self):
        with TmpDir() as dir_:
            filename = os.path.join(dir_, "export.fcs")
            text_start = 256
            fseg = TextSegment(
                self.data.shape[0],
                self.long_channels,
                self.channels,
                self.data.max(axis=0),
                text_start=text_start,
            )
            header = HeaderSegment(text_start, fseg.text_end, fseg.data_start,
                                   fseg.data_end)
            fcs = Fcs(self.data, self.long_channels, self.channels)
            with open(filename, "wb") as fp:
                fcs.export(fp)

            with open(filename, "rb") as fp:
                assert fp.read(58).decode("UTF-8") == header.to_string()
                fp.seek(text_start)
                assert (fp.read(header.text_end - fseg.text_start +
                                1).decode("UTF-8").strip() == fseg.to_string())
                fp.seek(fseg.data_start)
                dseg = DataSegment.from_string(
                    fp.read(fseg.data_end - fseg.data_start + 1),
                    fseg.datatype,
                    len(fseg.pnn),
                    fseg.tot,
                    fseg.endian,
                )
                assert np.array_equal(dseg.values, self.data)
Beispiel #2
0
    def test_update_pnn(self):
        fseg = TextSegment(
            self.data.shape[0],
            self.long_channels,
            self.channels,
            self.data.max(axis=0),
            data_start=1000,
        )
        fseg.update_pnn({"A": "AA", "B": "BB"})
        assert fseg.pnn == ["AA", "BB", "C", "D"]

        text_str = fseg.to_string()
        assert "$P1N/AA" in text_str
        assert "$P2N/BB" in text_str
Beispiel #3
0
    def test_update_pns(self):
        fseg = TextSegment(
            self.data.shape[0],
            self.long_channels,
            self.channels,
            self.data.max(axis=0),
            data_start=1000,
        )
        fseg.update_pns({"a": "aa", "b": "bb"})
        assert fseg.pns == ["aa", "bb", "c", "d"]

        text_str = fseg.to_string()
        assert "$P1S/aa" in text_str
        assert "$P2S/bb" in text_str