Class SingleCellExpressionExperimentServiceTest

java.lang.Object
ubic.gemma.core.util.test.BaseTest5
ubic.gemma.core.util.test.BaseDatabaseTest5
ubic.gemma.persistence.service.expression.experiment.SingleCellExpressionExperimentServiceTest

@ContextConfiguration public class SingleCellExpressionExperimentServiceTest extends BaseDatabaseTest5
Tests covering integration of single-cell.
  • Constructor Details

    • SingleCellExpressionExperimentServiceTest

      public SingleCellExpressionExperimentServiceTest()
  • Method Details

    • setUp

      @BeforeEach public void setUp()
    • resetMocks

      @AfterEach public void resetMocks()
    • testGetSingleCellDimensionWithoutCellIds

      @Test public void testGetSingleCellDimensionWithoutCellIds()
    • testGetSingleCellDataMatrix

      @Test public void testGetSingleCellDataMatrix()
    • testGetSingleCellDataVectors

      @Test public void testGetSingleCellDataVectors()
    • testAddSingleCellDataVectors

      @Test public void testAddSingleCellDataVectors()
    • testAddSingleCellDataVectorsPersistsEveryVectorInBatches

      @Test public void testAddSingleCellDataVectorsPersistsEveryVectorInBatches()
      The collection variant persists its vectors through the DAO in batches of 500 (flushed, then evicted) rather than cascading them from ee.getSingleCellExpressionDataVectors() on update, which kept every vector in the session until commit. 600 vectors cross one batch boundary.
    • testAddSingleCellDataVectorsCollapsesEqualVectors

      @Test public void testAddSingleCellDataVectorsCollapsesEqualVectors()
      Vectors that are equal (same experiment, quantitation type and design element) collapsed into one when they were added to the dataset's vector set, and the returned count reflected that. Persisting through the DAO must keep that.
    • testAddSingleCellDataVectorsWithInteger

      @Test public void testAddSingleCellDataVectorsWithInteger()
    • testAddSingleCellDataVectorsTwice

      @Test public void testAddSingleCellDataVectorsTwice()
    • testAddSingleCellDataVectorsWhenThereIsAlreadyAPreferredSetOfVectors

      @Test public void testAddSingleCellDataVectorsWhenThereIsAlreadyAPreferredSetOfVectors()
    • testReplaceVectors

      @Test public void testReplaceVectors()
    • testRemoveVectors

      @Test public void testRemoveVectors()
    • testRemoveVectorsSharingADimension

      @Test public void testRemoveVectorsSharingADimension()
    • testRemoveVectorsDoesNotLoadCellLevelCharacteristics

      @Test public void testRemoveVectorsDoesNotLoadCellLevelCharacteristics()
      Deleting a dimension must not load the characteristics of its cell-level characteristics. That load join-fetches CELL_LEVEL_CHARACTERISTICS with CHARACTERISTIC, repeating the per-cell INDICES blob on every characteristic row. A CLC made from a continuous column has one characteristic per cell, and GSE244451's 104 of them (3,369,548 characteristics) ran a 200 GB heap out of memory in deleteSingleCellData.
    • testRemoveAllCellLevelCharacteristicsDoesNotLoadThem

      @Test public void testRemoveAllCellLevelCharacteristicsDoesNotLoadThem()
      Same as above for deleteSingleCellData -deleteClcs, which removes the CLCs and keeps the dimension.
    • testCellTypeAssignmentsRecordTheirExperiment

      @Test public void testCellTypeAssignmentsRecordTheirExperiment()
      A cell type assignment records its experiment in EXPERIMENT_ANALYZED_FK, like every other analysis (Paul, 2026-09-14). frinkbro's join through that column matched nothing, because it was NULL on every assignment. Covers both writers, adding vectors and relabelling, and deleting the experiment afterwards, since the column is a foreign key to it.
    • testRelabelCellTypes

      @Test public void testRelabelCellTypes()
    • testGetPreferredCellTypeLabellingWhenNonUnique

      @Test public void testGetPreferredCellTypeLabellingWhenNonUnique()
      This a behaviour test when the labelling is not unique. This can be caused by multiple preferred single-cell QTs or multiple preferred cell type labellings.
    • testCreateCellTypeFactor

      @Test public void testCreateCellTypeFactor()
    • testCreateCellTypeFactorIgnoreCompatibleFactor

      @Test public void testCreateCellTypeFactorIgnoreCompatibleFactor()
    • testGetCellLevelCharacteristics

      @Test public void testGetCellLevelCharacteristics()
    • testAddDuplicatedCellLevelCharacteristics

      @Test public void testAddDuplicatedCellLevelCharacteristics()
    • testUpdateSparsityMetrics

      @Test public void testUpdateSparsityMetrics()