Skip to content
Snippets Groups Projects
Commit 6f1a8f7b authored by Balthazar Wilson's avatar Balthazar Wilson
Browse files

add: test file

parent e00a3667
No related branches found
No related tags found
No related merge requests found
// version 2.0.0
package comsoc
import "testing"
func TestBordaSWF(t *testing.T) {
prefs := [][]Alternative{
{1, 2, 3},
{1, 2, 3},
{3, 2, 1},
}
res, _ := BordaSWF(prefs)
if res[1] != 4 {
t.Errorf("error, result for 1 should be 4, %d computed", res[1])
}
if res[2] != 3 {
t.Errorf("error, result for 2 should be 3, %d computed", res[2])
}
if res[3] != 2 {
t.Errorf("error, result for 3 should be 2, %d computed", res[3])
}
}
func TestBordaSCF(t *testing.T) {
prefs := [][]Alternative{
{1, 2, 3},
{1, 2, 3},
{3, 2, 1},
}
res, err := BordaSCF(prefs)
if err != nil {
t.Error(err)
}
if len(res) != 1 || res[0] != 1 {
t.Errorf("error, 1 should be the only best Alternative")
}
}
func TestMajoritySWF(t *testing.T) {
prefs := [][]Alternative{
{1, 2, 3},
{1, 2, 3},
{3, 2, 1},
}
res, _ := MajoritySWF(prefs)
if res[1] != 2 {
t.Errorf("error, result for 1 should be 2, %d computed", res[1])
}
if res[2] != 0 {
t.Errorf("error, result for 2 should be 0, %d computed", res[2])
}
if res[3] != 1 {
t.Errorf("error, result for 3 should be 1, %d computed", res[3])
}
}
func TestMajoritySCF(t *testing.T) {
prefs := [][]Alternative{
{1, 2, 3},
{1, 2, 3},
{3, 2, 1},
}
res, err := MajoritySCF(prefs)
if err != nil {
t.Error(err)
}
if len(res) != 1 || res[0] != 1 {
t.Errorf("error, 1 should be the only best Alternative")
}
}
func TestApprovalSWF(t *testing.T) {
prefs := [][]Alternative{
{1, 2, 3},
{1, 3, 2},
{2, 3, 1},
}
thresholds := []int{2, 1, 2}
res, _ := ApprovalSWF(prefs, thresholds)
if res[1] != 2 {
t.Errorf("error, result for 1 should be 2, %d computed", res[1])
}
if res[2] != 2 {
t.Errorf("error, result for 2 should be 2, %d computed", res[2])
}
if res[3] != 1 {
t.Errorf("error, result for 3 should be 1, %d computed", res[3])
}
}
func TestApprovalSCF(t *testing.T) {
prefs := [][]Alternative{
{1, 3, 2},
{1, 2, 3},
{2, 1, 3},
}
thresholds := []int{2, 1, 2}
res, err := ApprovalSCF(prefs, thresholds)
if err != nil {
t.Error(err)
}
if len(res) != 1 || res[0] != 1 {
t.Errorf("error, 1 should be the only best Alternative")
}
}
func TestCondorcetWinner(t *testing.T) {
prefs1 := [][]Alternative{
{1, 2, 3},
{1, 2, 3},
{3, 2, 1},
}
prefs2 := [][]Alternative{
{1, 2, 3},
{2, 3, 1},
{3, 1, 2},
}
res1, _ := CondorcetWinner(prefs1)
res2, _ := CondorcetWinner(prefs2)
if len(res1) == 0 || res1[0] != 1 {
t.Errorf("error, 1 should be the only best alternative for prefs1")
}
if len(res2) != 0 {
t.Errorf("no best alternative for prefs2")
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment