From ff17d11f152d23a5e94e0155bd0fe9808094b43c Mon Sep 17 00:00:00 2001 From: john Date: Mon, 12 Aug 2024 19:37:28 +0200 Subject: [PATCH] add tests for PAV methods --- tests/testthat/test_voting_methods.R | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/testthat/test_voting_methods.R b/tests/testthat/test_voting_methods.R index 0e903de5..d808d56d 100644 --- a/tests/testthat/test_voting_methods.R +++ b/tests/testthat/test_voting_methods.R @@ -84,3 +84,32 @@ test_that("satisfaction approval voting", { expect_equal(sav2_equalw$feature, c("V3", "V1", "V4", "V2", "V5")) }) +test_that("sequential proportional approval voting", { + # small data + seq_pav = seq_proportional_approval_voting(vot2, cand2, w2) + expect_data_table(seq_pav, nrows = length(cand2), ncols = 2) + expect_setequal(colnames(seq_pav), c("feature", "borda_score")) + expect_equal(seq_pav$borda_score[1], 1) + expect_equal(seq_pav$borda_score[length(cand2)], 0) + + seq_pav_equal = seq_proportional_approval_voting(vot2, cand2, w2_equal) + expect_data_table(seq_pav_equal, nrows = length(cand2), ncols = 2) + expect_setequal(colnames(seq_pav_equal), c("feature", "borda_score")) + expect_equal(seq_pav_equal$borda_score[1], 1) + expect_equal(seq_pav_equal$borda_score[length(cand2)], 0) +}) + +test_that("reverse sequential proportional approval voting", { + # small data + rs_pav = revseq_proportional_approval_voting(vot2, cand2, w2) + expect_data_table(rs_pav, nrows = length(cand2), ncols = 2) + expect_setequal(colnames(rs_pav), c("feature", "borda_score")) + expect_equal(rs_pav$borda_score[1], 1) + expect_equal(rs_pav$borda_score[length(cand2)], 0) + + rs_pav_equal = seq_proportional_approval_voting(vot2, cand2, w2_equal) + expect_data_table(rs_pav_equal, nrows = length(cand2), ncols = 2) + expect_setequal(colnames(rs_pav_equal), c("feature", "borda_score")) + expect_equal(rs_pav_equal$borda_score[1], 1) + expect_equal(rs_pav_equal$borda_score[length(cand2)], 0) +})