Skip to content

Commit 2a6cae0

Browse files
committed
Add unit test for solve_sums_wrapper
1 parent b0e7c46 commit 2a6cae0

File tree

2 files changed

+80
-4
lines changed

2 files changed

+80
-4
lines changed

src/ffi.rs

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,3 +213,79 @@ pub fn solve_cors_wrapper(
213213
cept,
214214
})
215215
}
216+
217+
#[cfg(test)]
218+
mod tests {
219+
use super::*;
220+
221+
#[test]
222+
fn test_solve_sums_wrapper() {
223+
let tagging = vec![1.0, 2.0, 3.0];
224+
let chisqs = vec![1.0, 2.0, 3.0];
225+
let sample_sizes = vec![1.0, 2.0, 3.0];
226+
let category_vals = vec![vec![1.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]];
227+
let category_contribs = vec![vec![1.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]];
228+
229+
let result = solve_sums_wrapper(
230+
&tagging,
231+
&chisqs,
232+
&sample_sizes,
233+
&category_vals,
234+
&category_contribs,
235+
None,
236+
)
237+
.unwrap();
238+
239+
// Check sizes
240+
assert_eq!(result.stats.len(), 3 * (2 + 1 + 2));
241+
assert_eq!(result.likes.len(), 11);
242+
assert_eq!(result.cohers.len(), 2 * 2);
243+
assert_eq!(result.influs.len(), 2);
244+
245+
// Check values
246+
let desired_stats = [
247+
0.4791464197764975,
248+
-0.5588545017977516,
249+
-0.07970808202125412,
250+
0.2556046190573969,
251+
1.3577311773082386,
252+
2.3675053949121336,
253+
4.497316861083112,
254+
2.2773633495918704,
255+
0.763803940571641,
256+
5.227708866852336,
257+
146.47111303693012,
258+
146.47111303693012,
259+
0.0,
260+
87.88266782215808,
261+
439.41333911079033,
262+
];
263+
assert_eq!(result.stats, desired_stats);
264+
265+
let desired_likes = [
266+
-3.5411094874599045,
267+
-3.3166019866559435,
268+
-2.601387310875233,
269+
0.6760515111840476,
270+
-0.8075528916021616,
271+
1.0601008469882118,
272+
1.0,
273+
0.0,
274+
0.0,
275+
0.0,
276+
0.0,
277+
];
278+
assert_eq!(result.likes, desired_likes);
279+
280+
let desired_cohers = [
281+
5.605081794938058,
282+
-10.322278458928105,
283+
-10.322278458928107,
284+
20.22585894898246,
285+
];
286+
assert_eq!(result.cohers, desired_cohers);
287+
288+
let desired_influs = [4.363636363636364, 1.8545454545454547];
289+
assert_eq!(result.influs, desired_influs);
290+
}
291+
}

src/ldak/sumfuns.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,14 @@ int solve_sums(double *stats, double *likes, double *cohers, double *influs,
5858
// printf("\n");
5959
//
6060
// printf("stags: ");
61-
// for (int i = 0; i < 5; i++) {
61+
// for (int i = 0; i < 3; i++) {
6262
// printf("%f ", stags[i]);
6363
// }
6464
// printf("\n");
6565
//
6666
// printf("svars: ");
6767
// for (int i = 0; i < num_parts; i++) {
68-
// for (int k = 0; k < 5; k++) {
68+
// for (int k = 0; k < 3; k++) {
6969
// printf("%f ", svars[i][k]);
7070
// }
7171
// }
@@ -80,13 +80,13 @@ int solve_sums(double *stats, double *likes, double *cohers, double *influs,
8080
// printf("\n");
8181
//
8282
// printf("snss: ");
83-
// for (int i = 0; i < 5; i++) {
83+
// for (int i = 0; i < 3; i++) {
8484
// printf("%f ", snss[i]);
8585
// }
8686
// printf("\n");
8787
//
8888
// printf("schis: ");
89-
// for (int i = 0; i < 5; i++) {
89+
// for (int i = 0; i < 3; i++) {
9090
// printf("%f ", schis[i]);
9191
// }
9292
// printf("\n");

0 commit comments

Comments
 (0)