[ "tests/test__utils.py::TestCalculateLossSampleWeights::test_diseased", "tests/test__utils.py::TestCalculateLossSampleWeights::test_intervention", "tests/test__utils.py::TestCalculateLossSampleWeights::test_output", "tests/test__utils.py::TestCalculateLossSampleWeights::test_treated", "tests/test__utils.py::TestCalculateLossSampleWeights::test_wrong_kind", "tests/test__utils.py::TestDummyWriter::test_create", "tests/test__utils.py::TestDummyWriter::test_writing", "tests/test__utils.py::TestEarlyStopping::test_saving_loading", "tests/test__utils.py::TestGetThresholds::test_output", "tests/test__utils.py::TestGetThresholds::test_output_all", "tests/test__utils.py::TestGetThresholds::test_wrong_kind", "tests/test__utils.py::TestTestCondition::test_assertion_false", "tests/test__utils.py::TestTestCondition::test_assertion_true", "tests/test__utils.py::TestTicToc::test_output_basic_1", "tests/test__utils.py::TestTicToc::test_output_basic_2", "tests/test__utils.py::TestTicToc::test_output_custom", "tests/test__utils.py::TestTicToc::test_output_custom_format", "tests/test__utils.py::TestTicToc::test_output_wrapped", "tests/test__utils.py::TestTicToc::test_output_wrapped_custom", "tests/test__utils.py::TestTicToc::test_output_wrapped_custom_format", "tests/test__utils.py::TestTicToc::test_wrapped_wrong_format", "tests/test__utils.py::TestTicToc::test_wrong_format", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_alpha_beta_weighting", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_bce_only", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_gradient_flows", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_perfect_prediction_low_loss", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_sampled_bce_different_neg_counts", "tests/test_causal_estimator.py::TestCausalAlignmentLoss::test_with_effect_magnitude", "tests/test_causal_estimator.py::TestCausalGPU::test_estimator_on_cuda", "tests/test_causal_estimator.py::TestCausalGPU::test_planner_on_cuda", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_build_co_occurrence_graph_basic", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_build_co_occurrence_graph_device", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_build_co_occurrence_graph_symmetric", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_co_occurrence_produces_different_scores", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_deterministic_with_seed", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_different_batch_sizes", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_gradient_flows", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_large_gene_set", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_no_nan_forward", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_output_has_variance", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_output_not_all_same", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_output_range_sigmoid", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_output_shape", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_with_co_occurrence_graph", "tests/test_causal_estimator.py::TestCausalGeneEstimator::test_without_co_occurrence_graph", "tests/test_causal_estimator.py::TestCausalPlanner::test_forward_output_shapes", "tests/test_causal_estimator.py::TestCausalPlanner::test_forward_with_co_occurrence", "tests/test_causal_estimator.py::TestCausalPlanner::test_gradient_flows", "tests/test_causal_estimator.py::TestCausalPlanner::test_no_nan", "tests/test_causal_estimator.py::TestCausalPlanner::test_output_range", "tests/test_causal_estimator.py::TestCausalSparsityLoss::test_gradient_flows", "tests/test_causal_estimator.py::TestCausalSparsityLoss::test_output_scalar", "tests/test_causal_estimator.py::TestCausalSparsityLoss::test_scales_with_mean_score", "tests/test_causal_estimator.py::TestCausalSparsityLoss::test_weight_scaling", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGPU::test_forward_on_cuda", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_forward_keys", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_forward_shapes", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_gradient_flows", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_loss_decreases_over_steps", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_no_nan", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_predict_targets", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpace::test_recon_loss_zero", "tests/test_causal_flow_gid.py::TestCausalFlowGIDGeneSpaceGPU::test_forward_on_cuda", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_causal_scores_informative", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_different_batch_sizes", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_forward_keys", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_forward_shapes", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_gradient_flows", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_loss_components_nonzero", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_loss_is_finite", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_no_nan", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_predict_targets", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_predict_targets_no_topk", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_without_co_occurrence", "tests/test_causal_flow_gid.py::TestCausalFlowGIDModel::test_without_true_perturbation", "tests/test_datasets.py::TestDataset::test_multiple_folds", "tests/test_datasets.py::TestDataset::test_single_fold", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_de_loss_enabled", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_de_zero_when_weight_zero", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_differentiable", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_gpu_if_available", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_loss_lower_when_pred_equals_target", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_no_nan", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_output_keys", "tests/test_distributional_cycle_loss.py::TestDistributionalCycleLoss::test_with_masks", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_distant_distributions_high_mmd", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_identical_distributions_low_mmd", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_mmd_differentiable", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_mmd_fixed_sigma", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_mmd_shape", "tests/test_distributional_cycle_loss.py::TestMMDRBF::test_mmd_with_mask", "tests/test_distributional_cycle_loss.py::TestMaskedStats::test_masked_mean_no_mask", "tests/test_distributional_cycle_loss.py::TestMaskedStats::test_masked_mean_with_mask", "tests/test_distributional_cycle_loss.py::TestMaskedStats::test_masked_var_shape", "tests/test_distributional_cycle_loss.py::TestMaskedStats::test_masked_var_with_mask", "tests/test_drug_modules.py::TestDoseConsistencyLoss::test_consistent_predictions", "tests/test_drug_modules.py::TestDoseConsistencyLoss::test_inconsistent_predictions", "tests/test_drug_modules.py::TestDoseConsistencyLoss::test_no_duplicates", "tests/test_drug_modules.py::TestDrugAlignmentLoss::test_forward_with_targets", "tests/test_drug_modules.py::TestDrugAlignmentLoss::test_forward_without_dose", "tests/test_drug_modules.py::TestDrugEncoder::test_different_emb_dims", "tests/test_drug_modules.py::TestDrugEncoder::test_embedding_cache", "tests/test_drug_modules.py::TestDrugEncoder::test_empty_input", "tests/test_drug_modules.py::TestDrugEncoder::test_morgan_encoding_frozen", "tests/test_drug_modules.py::TestDrugEncoder::test_morgan_encoding_shape", "tests/test_drug_modules.py::TestDrugEncoder::test_morgan_encoding_trainable", "tests/test_drug_modules.py::TestDrugEncoder::test_similarity", "tests/test_drug_modules.py::TestDrugGeneBridge::test_forward_shape_with_gene_emb", "tests/test_drug_modules.py::TestDrugGeneBridge::test_forward_shape_without_gene_emb", "tests/test_drug_modules.py::TestDrugGeneBridge::test_gene_aware_attention", "tests/test_drug_modules.py::TestDrugTargetAlignmentLoss::test_perfect_prediction", "tests/test_drug_modules.py::TestDrugTargetAlignmentLoss::test_wrong_prediction", "tests/test_flow_response.py::TestFlowMatchingGPU::test_forward_on_cuda", "tests/test_flow_response.py::TestFlowMatchingGPU::test_sample_on_cuda", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_different_gene_dims", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_forward_loss_no_nan", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_forward_loss_scalar", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_gradient_flows", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_loss_zero_when_source_equals_target", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_no_encoder_decoder", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_reconstruction_loss_zero", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_sample_is_different_from_source", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_sample_no_nan", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_sample_shape", "tests/test_flow_response.py::TestFlowMatchingGeneSpace::test_variable_cell_count", "tests/test_flow_response.py::TestFlowMatchingGeneSpaceGPU::test_forward_on_cuda", "tests/test_flow_response.py::TestFlowMatchingGeneSpaceGPU::test_sample_on_cuda", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_batch_size_one", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_deterministic_with_seed", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_different_gene_dims", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_forward_loss_no_nan", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_forward_loss_scalar", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_loss_lower_for_similar_targets", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_loss_zero_when_source_equals_target", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_more_steps_better", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_sample_gradient_does_not_flow", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_sample_no_nan", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_sample_shape", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_t_at_extremes", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_target_cells_required", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_training_gradient_flows", "tests/test_flow_response.py::TestFlowMatchingResponseModel::test_variable_cell_count", "tests/test_flow_response.py::TestSinusoidalTimeEmbedding::test_different_for_different_t", "tests/test_flow_response.py::TestSinusoidalTimeEmbedding::test_differentiable", "tests/test_flow_response.py::TestSinusoidalTimeEmbedding::test_output_shape", "tests/test_flow_response.py::TestSinusoidalTimeEmbedding::test_output_shape_odd_dim", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_forward_shapes", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_gcn_off_matches_no_graph", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_gradient_flows_through_gcn", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_no_nan", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_predict_targets_shape", "tests/test_gene_graph_encoder.py::TestGIDModelWithGeneGraph::test_with_protein_features_and_graph", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_different_graphs_give_different_embeddings", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_gradient_through_embedding", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_no_nan", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_output_shape", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_real_pdgrapher_graph", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_set_graph_raises_before_forward", "tests/test_gene_graph_encoder.py::TestGeneGraphEncoder::test_with_protein_features", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_adjacency_nonneg_and_diagonal_positive", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_adjacency_row_sum_le_1", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_adjacency_symmetric_and_positive", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_adjacency_undirected_is_symmetric", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_build_normalized_adjacency_shape", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_extract_subgraph_correct_remapping", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_extract_subgraph_reduces_edges", "tests/test_gene_graph_encoder.py::TestGraphUtils::test_load_pdgrapher_edge_index", "tests/test_package.py::TestPackage::test_multiple_folds", "tests/test_package.py::TestPackage::test_single_fold", "tests/test_population_batch.py::TestPopulationCollateFn::test_dataloader_integration", "tests/test_population_batch.py::TestPopulationCollateFn::test_mask_values", "tests/test_population_batch.py::TestPopulationCollateFn::test_max_cells_truncation", "tests/test_population_batch.py::TestPopulationCollateFn::test_output_type", "tests/test_population_batch.py::TestPopulationCollateFn::test_padded_shapes", "tests/test_population_batch.py::TestPopulationCollateFn::test_padding_is_zero", "tests/test_population_batch.py::TestPopulationCollateFn::test_perturbation_stacked_correctly", "tests/test_population_batch.py::TestPopulationPerturbationBatch::test_optional_fields_default_none", "tests/test_population_batch.py::TestPopulationPerturbationBatch::test_shapes", "tests/test_population_batch.py::TestPopulationPerturbationBatch::test_to_device_cpu", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_cell_counts_in_range", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_different_seeds_differ", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_gene_dim", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_item_keys", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_length", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_perturbation_is_multihot", "tests/test_population_batch.py::TestSyntheticPopulationPerturbationDataset::test_reproducible", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_batch_size_1", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_different_n_per_call", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_gpu_if_available", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_gradient_flows", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_mask_accepted", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_no_nan", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_output_shape", "tests/test_population_response.py::TestSimplePopulationResponseModel::test_perturbation_changes_output", "tests/test_real_data.py::TestGeneSelection::test_hvg_fewer_than_requested", "tests/test_real_data.py::TestGeneSelection::test_hvg_shape", "tests/test_real_data.py::TestGeneSelection::test_normalize_log1p", "tests/test_real_data.py::TestGeneSelection::test_normalize_no_log", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_collate_fn_integration", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_item_shapes", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_length", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_no_nan", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_num_genes", "tests/test_real_data.py::TestPDGrapherPseudobulkDataset::test_perturbation_nonzero", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_collate_fn_integration", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_item_shapes", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_most_perts_in_gene_space", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_num_conditions", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_perturbation_is_multihot", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_reproducibility", "tests/test_real_data.py::TestScPerturbPopulationDataset::test_source_target_differ", "tests/test_sparse_planner.py::TestGapEncoder::test_gradient_flows", "tests/test_sparse_planner.py::TestGapEncoder::test_output_shape", "tests/test_sparse_planner.py::TestMMDProjected::test_different_dist_higher_mmd", "tests/test_sparse_planner.py::TestMMDProjected::test_same_dist_low_mmd", "tests/test_sparse_planner.py::TestMMDProjected::test_shape", "tests/test_sparse_planner.py::TestPerturbationEval::test_compute_all_returns_keys", "tests/test_sparse_planner.py::TestPerturbationEval::test_de_direction_agreement_perfect", "tests/test_sparse_planner.py::TestPerturbationEval::test_pearson_r_good_better_than_random", "tests/test_sparse_planner.py::TestPerturbationEval::test_pearson_r_perfect", "tests/test_sparse_planner.py::TestPerturbationEval::test_pearson_r_topk_de", "tests/test_sparse_planner.py::TestPopulationEncoder::test_gradient_flows", "tests/test_sparse_planner.py::TestPopulationEncoder::test_mask_accepted", "tests/test_sparse_planner.py::TestPopulationEncoder::test_output_shape_no_var", "tests/test_sparse_planner.py::TestPopulationEncoder::test_output_shape_with_var", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_end_to_end_gradient", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_forward_keys", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_no_nan", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_predict_targets_shape", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_shapes", "tests/test_sparse_planner.py::TestPopulationGIDModel::test_teacher_forcing", "tests/test_sparse_planner.py::TestSparsePlanner::test_score_shape", "tests/test_sparse_planner.py::TestSparsePlanner::test_soft_mask_range", "tests/test_sparse_planner.py::TestSparsePlanner::test_ste_mask_is_binary", "tests/test_sparse_planner.py::TestSparsePlanner::test_ste_topk_gradient", "tests/test_sparse_planner.py::TestSparsePlanner::test_topk_mask_binary", "tests/test_sparse_planner.py::TestTargetMetrics::test_compute_all_returns_keys", "tests/test_sparse_planner.py::TestTargetMetrics::test_mrr_perfect", "tests/test_sparse_planner.py::TestTargetMetrics::test_ndcg_perfect_vs_random", "tests/test_sparse_planner.py::TestTargetMetrics::test_recall_at_k_perfect", "tests/test_sparse_planner.py::TestTargetMetrics::test_recall_at_k_random", "tests/test_train.py::TestTrainer::test_trainer", "tests/test_train.py::TestTrainer::test_trainer_args", "tests/test_train.py::TestTrainer::test_trainer_unknown_kwargs" ]