Skip to content

Commit

Permalink
Use initial_value() to test that we don't assume zeroed buffers.
Browse files Browse the repository at this point in the history
  • Loading branch information
LTLA committed Jan 9, 2025
1 parent 867fc6b commit b85879c
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 10 deletions.
6 changes: 5 additions & 1 deletion include/scran_variances/choose_highly_variable_genes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,11 @@ void choose_highly_variable_genes(size_t n, const Stat_* statistic, Bool_* outpu
*/
template<typename Bool_ = uint8_t, typename Stat_>
std::vector<Bool_> choose_highly_variable_genes(size_t n, const Stat_* statistic, const ChooseHighlyVariableGenesOptions& options) {
std::vector<Bool_> output(n);
std::vector<Bool_> output(n
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
);
choose_highly_variable_genes(n, statistic, output.data(), options);
return output;
}
Expand Down
13 changes: 12 additions & 1 deletion include/scran_variances/fit_variance_trend.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,18 @@ struct FitVarianceTrendResults {
*/
FitVarianceTrendResults() {}

FitVarianceTrendResults(size_t n) : fitted(n), residuals(n) {}
FitVarianceTrendResults(size_t n) :
fitted(n
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
),
residuals(n
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
)
{}
/**
* @endcond
*/
Expand Down
23 changes: 22 additions & 1 deletion include/scran_variances/model_gene_variances.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,28 @@ struct ModelGeneVariancesResults {
*/
ModelGeneVariancesResults() = default;

ModelGeneVariancesResults(size_t ngenes) : means(ngenes), variances(ngenes), fitted(ngenes), residuals(ngenes) {}
ModelGeneVariancesResults(size_t ngenes) :
means(ngenes
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
),
variances(ngenes
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
),
fitted(ngenes
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
),
residuals(ngenes
#ifdef SCRAN_VARIANCES_TEST_INIT
, SCRAN_VARIANCES_TEST_INIT
#endif
)
{}
/**
* @endcond
*/
Expand Down
9 changes: 9 additions & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,15 @@ add_executable(
)
decorate_test(libtest)

add_executable(
dirtytest
src/fit_variance_trend.cpp
src/model_gene_variances.cpp
src/choose_highly_variable_genes.cpp
)
decorate_test(dirtytest)
target_compile_definitions(dirtytest PRIVATE "SCRAN_VARIANCES_TEST_INIT=scran_tests::initial_value()")

add_executable(
cuspartest
src/model_gene_variances.cpp
Expand Down
3 changes: 1 addition & 2 deletions tests/src/choose_highly_variable_genes.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#include <gtest/gtest.h>
#include "scran_tests/scran_tests.hpp"

#include "scran_variances/choose_highly_variable_genes.hpp"
#include "scran_tests/scran_tests.hpp"

#include <unordered_set>

Expand Down
5 changes: 2 additions & 3 deletions tests/src/fit_variance_trend.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#include <gtest/gtest.h>
#include <random>

#include "scran_tests/scran_tests.hpp"

#include <random>

#include "scran_variances/fit_variance_trend.hpp"

TEST(FitVarianceTrendTest, Basic) {
Expand Down
2 changes: 0 additions & 2 deletions tests/src/model_gene_variances.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#include <gtest/gtest.h>

#include "scran_tests/scran_tests.hpp"

#include "tatami/tatami.hpp"
Expand Down

0 comments on commit b85879c

Please sign in to comment.