-
Notifications
You must be signed in to change notification settings - Fork 36
/
NoSelfReferenceTest.scala
40 lines (32 loc) · 1.48 KB
/
NoSelfReferenceTest.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package de.schauderhaft.degraph.analysis.dependencyFinder
import org.junit.runner.RunWith
import org.scalatest.FunSuite
import org.scalatest.junit.JUnitRunner
import de.schauderhaft.degraph.slicer.MultiCategorizer._
import de.schauderhaft.degraph.slicer.ListCategory
import de.schauderhaft.degraph.model.SimpleNode
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.Matchers._
@RunWith(classOf[JUnitRunner])
class NoSelfReferenceTest extends FunSuite {
def n(s: String) = SimpleNode(s, s)
test("returns true for unrelated objects") {
new NoSelfReference()(n("a"), n("b")) should be(true)
}
test("returns false for identical objects") {
new NoSelfReference()(n("a"), n("a")) should be(false)
}
test("returns false if second object is contained in Categories of first instance") {
new NoSelfReference(ListCategory(n("a"), n("b"), n("c"), n("d")))(n("a"), n("c")) should be(false)
}
test("returns false if first object is con9tained in Categories of second instance") {
new NoSelfReference(ListCategory(n("a"), n("b"), n("c"), n("d")))(n("c"), n("a")) should be(false)
}
test("returns true for unrelated objects with categories") {
new NoSelfReference(ListCategory(n("a"), n("b"), n("c"), n("d")))(n("a"), n("x")) should be(true)
}
test("returns true for unrelated objects with common categorY") {
new NoSelfReference(combine(ListCategory(n("a"), n("b")), ListCategory(n("x"), n("b"))))(n("a"), n("x")) should be(true)
}
}