(patch) fix incoming algorithm -- inverted boolean
All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 2m28s
All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 2m28s
This commit is contained in:
parent
ebd7d98ebb
commit
a8351ed516
2 changed files with 28 additions and 1 deletions
|
|
@ -32,7 +32,7 @@ final class Adjacency(val neighbors: Vector[Vector[Vertex]]):
|
|||
if vertex.ordinal >= neighbors.length then Vector.empty
|
||||
else
|
||||
neighbors.zipWithIndex
|
||||
.filterNot {
|
||||
.filter {
|
||||
// ignore the neighbors of the input vertex
|
||||
case (_, index) => index != vertex.ordinal
|
||||
}
|
||||
|
|
|
|||
27
modules/core/src/test/scala/gs/graph/v0/AdjacencyTests.scala
Normal file
27
modules/core/src/test/scala/gs/graph/v0/AdjacencyTests.scala
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
package gs.graph.v0
|
||||
|
||||
class AdjacencyTests extends munit.FunSuite:
|
||||
|
||||
test("should provide incoming") {
|
||||
val N = Size(7)
|
||||
val vs = (0 until N.value).map(Vertex(_)).toArray
|
||||
val E = List(
|
||||
Edge(vs(0), vs(1)),
|
||||
Edge(vs(0), vs(2)),
|
||||
Edge(vs(0), vs(3)),
|
||||
Edge(vs(1), vs(4)),
|
||||
Edge(vs(2), vs(4)),
|
||||
Edge(vs(3), vs(4)),
|
||||
Edge(vs(3), vs(5)),
|
||||
Edge(vs(4), vs(6))
|
||||
)
|
||||
val A = Adjacency.fromDirectedEdges(N, E)
|
||||
|
||||
assertEquals(A.incoming(vs(0)), Vector.empty)
|
||||
assertEquals(A.incoming(vs(1)), Vector(vs(0)))
|
||||
assertEquals(A.incoming(vs(2)), Vector(vs(0)))
|
||||
assertEquals(A.incoming(vs(3)), Vector(vs(0)))
|
||||
assertEquals(A.incoming(vs(4)), Vector(vs(1), vs(2), vs(3)))
|
||||
assertEquals(A.incoming(vs(5)), Vector(vs(3)))
|
||||
assertEquals(A.incoming(vs(6)), Vector(vs(4)))
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue