-
-
Notifications
You must be signed in to change notification settings - Fork 379
Expand file tree
/
Copy pathstandalone_gqs_2390_test.cpp
More file actions
53 lines (47 loc) · 1.79 KB
/
standalone_gqs_2390_test.cpp
File metadata and controls
53 lines (47 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stan/services/error_codes.hpp>
#include <stan/services/sample/standalone_gqs.hpp>
#include <stan/callbacks/stream_writer.hpp>
#include <stan/callbacks/stream_logger.hpp>
#include <stan/io/empty_var_context.hpp>
#include <stan/io/stan_csv_reader.hpp>
#include <test/test-models/good/services/bug_2390_gq.hpp>
#include <test/unit/services/instrumented_callbacks.hpp>
#include <test/unit/util.hpp>
#include <Eigen/Dense>
#include <gtest/gtest.h>
#include <iostream>
#include <string>
#include <vector>
class ServicesStandaloneGQ4 : public ::testing::Test {
public:
ServicesStandaloneGQ4()
: logger(logger_ss, logger_ss, logger_ss, logger_ss, logger_ss) {}
void SetUp() {
stan::io::empty_var_context context;
model = new stan_model(context);
}
void TearDown() { delete model; }
stan::test::unit::instrumented_interrupt interrupt;
std::stringstream logger_ss;
stan::callbacks::stream_logger logger;
stan_model *model;
};
TEST_F(ServicesStandaloneGQ4, genDraws_gq_test_vec_len_1) {
stan::io::stan_csv multidim_csv;
std::stringstream out;
std::ifstream csv_stream;
csv_stream.open(
"src/test/test-models/good/services/bug_2390_fitted_params.csv");
multidim_csv = stan::io::stan_csv_reader::parse(csv_stream, &out);
csv_stream.close();
EXPECT_EQ("b[1]", multidim_csv.header[7]);
std::stringstream sample_ss;
stan::callbacks::stream_writer sample_writer(sample_ss, "");
int return_code = stan::services::standalone_generate(
*model, multidim_csv.samples.middleCols<1>(7), 12345, interrupt, logger,
sample_writer);
EXPECT_EQ(return_code, stan::services::error_codes::OK);
EXPECT_EQ(count_matches("y_est", sample_ss.str()), 5);
EXPECT_EQ(count_matches("\n", sample_ss.str()), 1004);
match_csv_columns(multidim_csv.samples, sample_ss.str(), 1000, 0, 6);
}