Skip to content

Commit 4b1ed55

Browse files
committed
add tests for waspas
1 parent 761253e commit 4b1ed55

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

src/main/scala/waspas.scala

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ case class WaspasResult(
66
normalizedDecisionMatrix: Mat,
77
scoresWSM: Vec,
88
scoresWPM: Vec,
9-
scores: Vec
9+
scores: Vec,
10+
bestIndex: Int,
11+
orderings: VecInt
1012
) extends MCDMResult
1113

1214
def waspas(
@@ -40,4 +42,8 @@ def waspas(
4042

4143
val scores = Matrix.rowsums(Matrix.mul(scoreTables, Matrix.makeRowMatrix(l)))
4244

43-
WaspasResult(normalizedDecisionMat, scoresWSM, scoresWPM, scores)
45+
val bestIndex = scores.zipWithIndex.maxBy(_._1)._2
46+
47+
val orderings = scores.zipWithIndex.sortBy(_._1).map(_._2)
48+
49+
WaspasResult(normalizedDecisionMat, scoresWSM, scoresWPM, scores, bestIndex, orderings)

src/test/scala/testwaspas.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ class TestWaspas extends munit.FunSuite {
4444
0.7873956894790834,
4545
0.7674278741781709)
4646

47+
val expectedBestIndex = 0
48+
49+
val expectedOrdering = Array(2, 1, 4, 3, 0)
50+
4751
A.assert(Matrix.elementwise_equal(result.normalizedDecisionMatrix, expectedNormalizedMatrix, 1e-5))
4852

4953
A.assert(Matrix.elementwise_equal(result.scoresWSM, expectedScoresWSM, 1e-5))
@@ -52,5 +56,9 @@ class TestWaspas extends munit.FunSuite {
5256

5357
A.assert(Matrix.elementwise_equal(result.scores, expectedScores, 1e-5))
5458

59+
A.assertEquals(result.bestIndex, expectedBestIndex)
60+
61+
expectedOrdering.zip(result.orderings).foreach { case (a, b) => A.assertEquals(a, b) }
62+
5563
}
5664
}

0 commit comments

Comments
 (0)