Tests for new Edges GSI bindings.

This commit is contained in:
Matthias Koefferlein 2022-08-31 17:57:23 +02:00
parent bb0d4a6ecc
commit 2ac9336204
1 changed files with 86 additions and 0 deletions

View File

@ -336,6 +336,9 @@ class DBEdges_TestClass < TestBase
r = r1 & r2
assert_equal(r.to_s, "(50,0;100,0)")
assert_equal(r.is_merged?, true)
r = r1.andnot(r2)[0]
assert_equal(r.to_s, "(50,0;100,0)")
assert_equal(r.is_merged?, true)
r = r1.dup
r &= r2
assert_equal(r.to_s, "(50,0;100,0)")
@ -343,6 +346,9 @@ class DBEdges_TestClass < TestBase
r = r1 - r2
assert_equal(r.to_s, "(0,0;50,0)")
assert_equal(r.is_merged?, true)
r = r1.andnot(r2)[1]
assert_equal(r.to_s, "(0,0;50,0)")
assert_equal(r.is_merged?, true)
r = r1.dup
r -= r2
assert_equal(r.to_s, "(0,0;50,0)")
@ -482,7 +488,9 @@ class DBEdges_TestClass < TestBase
g2.insert(RBA::Box::new(0, 10, 200, 20))
assert_equal(r.interacting(r2).to_s, "(100,0;100,50)")
assert_equal(r.split_interacting(r2)[0].to_s, "(100,0;100,50)")
assert_equal(r.not_interacting(r2).to_s, "(0,0;100,0)")
assert_equal(r.split_interacting(r2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_interacting(r2)
assert_equal(rr.to_s, "(100,0;100,50)")
@ -491,7 +499,9 @@ class DBEdges_TestClass < TestBase
assert_equal(rr.to_s, "(0,0;100,0)")
assert_equal(r.interacting(g2).to_s, "(100,0;100,50)")
assert_equal(r.split_interacting(g2)[0].to_s, "(100,0;100,50)")
assert_equal(r.not_interacting(g2).to_s, "(0,0;100,0)")
assert_equal(r.split_interacting(g2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_interacting(g2)
assert_equal(rr.to_s, "(100,0;100,50)")
@ -539,8 +549,11 @@ class DBEdges_TestClass < TestBase
e.insert(RBA::Edge::new(-100, 100, 200, 100))
assert_equal((e & r).to_s, "(0,100;100,100)")
assert_equal(e.inside_part(r).to_s, "(0,100;100,100)")
assert_equal(e.inside_outside_part(r)[0].to_s, "(0,100;100,100)")
ee = e.dup
assert_equal((ee & r).to_s, "(0,100;100,100)")
assert_equal(ee.andnot(r)[0].to_s, "(0,100;100,100)")
ee &= r
assert_equal(ee.to_s, "(0,100;100,100)")
@ -550,8 +563,11 @@ class DBEdges_TestClass < TestBase
assert_equal(csort((e - r).to_s), csort("(-100,100;0,100);(100,100;200,100)"))
assert_equal(csort(e.outside_part(r).to_s), csort("(-100,100;0,100);(100,100;200,100)"))
assert_equal(csort(e.inside_outside_part(r)[1].to_s), csort("(-100,100;0,100);(100,100;200,100)"))
ee = e.dup
assert_equal((ee - r).to_s, csort("(-100,100;0,100);(100,100;200,100)"))
assert_equal(ee.andnot(r)[1].to_s, csort("(-100,100;0,100);(100,100;200,100)"))
ee -= r
assert_equal(csort(ee.to_s), csort("(-100,100;0,100);(100,100;200,100)"))
@ -625,6 +641,76 @@ class DBEdges_TestClass < TestBase
end
# inside
def test_10
r = RBA::Edges::new
r.insert(RBA::Edge::new(0, 0, 100, 0))
r.insert(RBA::Edge::new(0, 10, 100, 10))
r2 = RBA::Edges::new
r2.insert(RBA::Edge::new(0, 10, 200, 10))
g2 = RBA::Region::new
g2.insert(RBA::Box::new(0, 10, 200, 20))
assert_equal(r.inside(r2).to_s, "(0,10;100,10)")
assert_equal(r.split_inside(r2)[0].to_s, "(0,10;100,10)")
assert_equal(r.not_inside(r2).to_s, "(0,0;100,0)")
assert_equal(r.split_inside(r2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_inside(r2)
assert_equal(rr.to_s, "(0,10;100,10)")
rr = r.dup
rr.select_not_inside(r2)
assert_equal(rr.to_s, "(0,0;100,0)")
assert_equal(r.inside(g2).to_s, "(0,10;100,10)")
assert_equal(r.split_inside(g2)[0].to_s, "(0,10;100,10)")
assert_equal(r.not_inside(g2).to_s, "(0,0;100,0)")
assert_equal(r.split_inside(g2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_inside(g2)
assert_equal(rr.to_s, "(0,10;100,10)")
rr = r.dup
rr.select_not_inside(g2)
assert_equal(rr.to_s, "(0,0;100,0)")
end
# outside
def test_11
r = RBA::Edges::new
r.insert(RBA::Edge::new(0, 0, 100, 0))
r.insert(RBA::Edge::new(0, 10, 100, 10))
r2 = RBA::Edges::new
r2.insert(RBA::Edge::new(0, 0, 200, 0))
g2 = RBA::Region::new
g2.insert(RBA::Box::new(0, -5, 200, 5))
assert_equal(r.outside(r2).to_s, "(0,10;100,10)")
assert_equal(r.split_outside(r2)[0].to_s, "(0,10;100,10)")
assert_equal(r.not_outside(r2).to_s, "(0,0;100,0)")
assert_equal(r.split_outside(r2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_outside(r2)
assert_equal(rr.to_s, "(0,10;100,10)")
rr = r.dup
rr.select_not_outside(r2)
assert_equal(rr.to_s, "(0,0;100,0)")
assert_equal(r.outside(g2).to_s, "(0,10;100,10)")
assert_equal(r.split_outside(g2)[0].to_s, "(0,10;100,10)")
assert_equal(r.not_outside(g2).to_s, "(0,0;100,0)")
assert_equal(r.split_outside(g2)[1].to_s, "(0,0;100,0)")
rr = r.dup
rr.select_outside(g2)
assert_equal(rr.to_s, "(0,10;100,10)")
rr = r.dup
rr.select_not_outside(g2)
assert_equal(rr.to_s, "(0,0;100,0)")
end
end
load("test_epilogue.rb")