@@ -59,10 +59,12 @@ TEST_F(CmdStan, optimize_default) {
5959 EXPECT_TRUE (boost::contains (config[jacobian_idx], " = false (Default)" ));
6060
6161 ASSERT_NEAR (0 , values[0 ], 0.00001 );
62- EXPECT_FLOAT_EQ (1 , values[1 ]);
63- EXPECT_FLOAT_EQ (100 , values[2 ]);
64- EXPECT_FLOAT_EQ (10000 , values[3 ]);
65- EXPECT_FLOAT_EQ (1000000 , values[4 ]);
62+ auto outputs = values.size ();
63+
64+ EXPECT_FLOAT_EQ (1 , values[outputs - 4 ]);
65+ EXPECT_FLOAT_EQ (100 , values[outputs - 3 ]);
66+ EXPECT_FLOAT_EQ (10000 , values[outputs - 2 ]);
67+ EXPECT_FLOAT_EQ (1000000 , values[outputs - 1 ]);
6668}
6769
6870TEST_F (CmdStan, optimize_bfgs) {
@@ -85,10 +87,12 @@ TEST_F(CmdStan, optimize_bfgs) {
8587 EXPECT_FALSE (boost::contains (config[algo_idx], " lbfgs" ));
8688
8789 ASSERT_NEAR (0 , values[0 ], 0.00001 );
88- EXPECT_FLOAT_EQ (1 , values[1 ]);
89- EXPECT_FLOAT_EQ (100 , values[2 ]);
90- EXPECT_FLOAT_EQ (10000 , values[3 ]);
91- EXPECT_FLOAT_EQ (1000000 , values[4 ]);
90+ auto outputs = values.size ();
91+
92+ EXPECT_FLOAT_EQ (1 , values[outputs - 4 ]);
93+ EXPECT_FLOAT_EQ (100 , values[outputs - 3 ]);
94+ EXPECT_FLOAT_EQ (10000 , values[outputs - 2 ]);
95+ EXPECT_FLOAT_EQ (1000000 , values[outputs - 1 ]);
9296}
9397
9498TEST_F (CmdStan, optimize_lbfgs) {
@@ -110,10 +114,12 @@ TEST_F(CmdStan, optimize_lbfgs) {
110114 EXPECT_TRUE (boost::contains (config[algo_idx], " lbfgs" ));
111115
112116 ASSERT_NEAR (0 , values[0 ], 0.00001 );
113- EXPECT_FLOAT_EQ (1 , values[1 ]);
114- EXPECT_FLOAT_EQ (100 , values[2 ]);
115- EXPECT_FLOAT_EQ (10000 , values[3 ]);
116- EXPECT_FLOAT_EQ (1000000 , values[4 ]);
117+ auto outputs = values.size ();
118+
119+ EXPECT_FLOAT_EQ (1 , values[outputs - 4 ]);
120+ EXPECT_FLOAT_EQ (100 , values[outputs - 3 ]);
121+ EXPECT_FLOAT_EQ (10000 , values[outputs - 2 ]);
122+ EXPECT_FLOAT_EQ (1000000 , values[outputs - 1 ]);
117123}
118124
119125TEST_F (CmdStan, optimize_newton) {
@@ -135,10 +141,12 @@ TEST_F(CmdStan, optimize_newton) {
135141 EXPECT_TRUE (boost::contains (config[algo_idx], " newton" ));
136142
137143 ASSERT_NEAR (0 , values[0 ], 0.00001 );
138- EXPECT_FLOAT_EQ (1 , values[1 ]);
139- EXPECT_FLOAT_EQ (100 , values[2 ]);
140- EXPECT_FLOAT_EQ (10000 , values[3 ]);
141- EXPECT_FLOAT_EQ (1000000 , values[4 ]);
144+ auto outputs = values.size ();
145+
146+ EXPECT_FLOAT_EQ (1 , values[outputs - 4 ]);
147+ EXPECT_FLOAT_EQ (100 , values[outputs - 3 ]);
148+ EXPECT_FLOAT_EQ (10000 , values[outputs - 2 ]);
149+ EXPECT_FLOAT_EQ (1000000 , values[outputs - 1 ]);
142150}
143151
144152TEST_F (CmdStan, optimize_jacobian_adjust) {
@@ -158,8 +166,9 @@ TEST_F(CmdStan, optimize_jacobian_adjust) {
158166 EXPECT_NE (jacobian_idx, -1 );
159167 EXPECT_TRUE (boost::contains (config1[jacobian_idx], " = false (Default)" ));
160168
169+ auto outputs = values1.size ();
161170 ASSERT_NEAR (0 , values1[0 ], 0.00001 );
162- ASSERT_NEAR (3 , values1[1 ], 0.01 );
171+ ASSERT_NEAR (3 , values1[outputs - 1 ], 0.01 );
163172
164173 ss.str (std::string ());
165174 ss << convert_model_path (simple_jacobian_model) << " random seed=1234"
@@ -176,5 +185,5 @@ TEST_F(CmdStan, optimize_jacobian_adjust) {
176185 EXPECT_NE (jacobian_idx, -1 );
177186 EXPECT_TRUE (boost::contains (config2[jacobian_idx], " = true" ));
178187
179- ASSERT_NEAR (3.3 , values2[1 ], 0.01 );
188+ ASSERT_NEAR (3.3 , values2[outputs - 1 ], 0.01 );
180189}
0 commit comments