def testGetSegmentCounts(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    created = ssm.createSegments([42, 42, 43, 44, 45, 43])
    ssm.destroySegments([created[2], created[4]])

    np.testing.assert_equal(ssm.getSegmentCounts([42, 43, 44, 45, 46]),
                            [2, 1, 1, 0, 0])
    def testMapSegmentsToCells(self):
        ssm = SegmentSparseMatrix(2048, 1000)

        segments = ssm.createSegments([42, 42, 42, 43, 44, 45])

        np.testing.assert_equal(ssm.mapSegmentsToCells(segments),
                                [42, 42, 42, 43, 44, 45])
        np.testing.assert_equal(
            ssm.mapSegmentsToCells([segments[3], segments[3], segments[0]]),
            [43, 43, 42])
  def testAddRows(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    self.assertEqual(0, ssm.matrix.nRows())

    ssm.createSegment(42)
    self.assertEqual(1, ssm.matrix.nRows())

    ssm.createSegments([42, 43, 44])
    self.assertEqual(4, ssm.matrix.nRows())
    def testSortSegmentsByCell(self):
        ssm = SegmentSparseMatrix(2048, 1000)

        segments = ssm.createSegments([42, 41, 49, 45, 0, 2047])
        segmentsSorted = [
            segments[4], segments[1], segments[0], segments[3], segments[2],
            segments[5]
        ]

        ssm.sortSegmentsByCell(segments)

        np.testing.assert_equal(segments, segmentsSorted)
  def testMapSegmentsToCells(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    segments = ssm.createSegments([42, 42, 42, 43, 44, 45])

    np.testing.assert_equal(
      ssm.mapSegmentsToCells(segments),
      [42, 42, 42, 43, 44, 45])
    np.testing.assert_equal(ssm.mapSegmentsToCells([segments[3],
                                                    segments[3],
                                                    segments[0]]),
                            [43, 43, 42])
  def testSortSegmentsByCell(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    segments = ssm.createSegments([42, 41, 49, 45, 0, 2047])
    segmentsSorted = [segments[4],
                      segments[1],
                      segments[0],
                      segments[3],
                      segments[2],
                      segments[5]]

    ssm.sortSegmentsByCell(segments)

    np.testing.assert_equal(segments, segmentsSorted)
Example #7
0
  def testFilterSegmentsByCell(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    # Shuffled [42, 42, 42, 43, 46, 47, 48]
    cellsWithSegments = [47, 42, 46, 43, 42, 48, 42]

    segments = ssm.createSegments(cellsWithSegments)
    ssm.sortSegmentsByCell(segments)

    # Include everything
    everything = sorted(cellsWithSegments)
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments, everything),
                            segments)

    # Subset, one cell with multiple segments
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments,
                                                     [42, 43, 48]),
                            [segments[0],
                             segments[1],
                             segments[2],
                             segments[3],
                             segments[6]])

    # Subset, some cells without segments
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments,
                                                     [43, 44, 45, 48]),
                            [segments[3],
                             segments[6]])
  def testFilterSegmentsByCell(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    # Shuffled [42, 42, 42, 43, 46, 47, 48]
    cellsWithSegments = [47, 42, 46, 43, 42, 48, 42]

    segments = ssm.createSegments(cellsWithSegments)
    ssm.sortSegmentsByCell(segments)

    # Include everything
    everything = sorted(cellsWithSegments)
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments, everything),
                            segments)

    # Subset, one cell with multiple segments
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments,
                                                     [42, 43, 48]),
                            [segments[0],
                             segments[1],
                             segments[2],
                             segments[3],
                             segments[6]])

    # Subset, some cells without segments
    np.testing.assert_equal(ssm.filterSegmentsByCell(segments,
                                                     [43, 44, 45, 48]),
                            [segments[3],
                             segments[6]])
    def testNoRowLeaks(self):
        ssm = SegmentSparseMatrix(2048, 1000)

        created = ssm.createSegments([42, 43, 44, 45, 46])
        ssm.destroySegments([created[1], created[2], created[3]])
        ssm.createSegments([50, 51, 52, 53])

        self.assertEquals(6, ssm.matrix.nRows())
    def testGetSegmentCounts(self):
        ssm = SegmentSparseMatrix(2048, 1000)

        created = ssm.createSegments([42, 42, 43, 44, 45, 43])
        ssm.destroySegments([created[2], created[4]])

        np.testing.assert_equal(ssm.getSegmentCounts([42, 43, 44, 45, 46]),
                                [2, 1, 1, 0, 0])
  def testNoRowLeaks(self):
    ssm = SegmentSparseMatrix(2048, 1000)

    created = ssm.createSegments([42, 43, 44, 45, 46])
    ssm.destroySegments([created[1], created[2], created[3]])
    ssm.createSegments([50, 51, 52, 53])

    self.assertEquals(6, ssm.matrix.nRows())
    def testAddRows(self):
        ssm = SegmentSparseMatrix(2048, 1000)

        self.assertEqual(0, ssm.matrix.nRows())

        ssm.createSegment(42)
        self.assertEqual(1, ssm.matrix.nRows())

        ssm.createSegments([42, 43, 44])
        self.assertEqual(4, ssm.matrix.nRows())