mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-22 14:07:15 +02:00
Some useful aliases for RBA as in-place operators do not really do what they are supposed to in Ruby.
This commit is contained in:
Vendored
+7
-2
@@ -113,8 +113,13 @@ class DBEdgePairs_TestClass < TestBase
|
||||
r2.insert(RBA::Edge::new(1, 1, 1, 101), RBA::Edge::new(-11, 1, -21, 51))
|
||||
|
||||
assert_equal(csort((r1 + r2).to_s), csort("(0,0;0,100)/(-10,0;-20,50);(0,1;0,101)/(-10,1;-20,51);(1,0;1,100)/(-11,0;-21,50);(1,1;1,101)/(-11,1;-21,51)"))
|
||||
r1 += r2
|
||||
assert_equal(csort(r1.to_s), csort("(0,0;0,100)/(-10,0;-20,50);(0,1;0,101)/(-10,1;-20,51);(1,0;1,100)/(-11,0;-21,50);(1,1;1,101)/(-11,1;-21,51)"))
|
||||
assert_equal(csort((r1.join(r2)).to_s), csort("(0,0;0,100)/(-10,0;-20,50);(0,1;0,101)/(-10,1;-20,51);(1,0;1,100)/(-11,0;-21,50);(1,1;1,101)/(-11,1;-21,51)"))
|
||||
rr1 = r1.dup
|
||||
rr1 += r2
|
||||
assert_equal(csort(rr1.to_s), csort("(0,0;0,100)/(-10,0;-20,50);(0,1;0,101)/(-10,1;-20,51);(1,0;1,100)/(-11,0;-21,50);(1,1;1,101)/(-11,1;-21,51)"))
|
||||
rr1 = r1.dup
|
||||
rr1.join_with(r2)
|
||||
assert_equal(csort(rr1.to_s), csort("(0,0;0,100)/(-10,0;-20,50);(0,1;0,101)/(-10,1;-20,51);(1,0;1,100)/(-11,0;-21,50);(1,1;1,101)/(-11,1;-21,51)"))
|
||||
|
||||
end
|
||||
|
||||
|
||||
Vendored
+25
@@ -315,6 +315,8 @@ class DBEdges_TestClass < TestBase
|
||||
|
||||
r = r1 + r2
|
||||
assert_equal(csort(r.to_s), csort("(0,0;100,0);(50,0;200,0)"))
|
||||
r = r1.join(r2)
|
||||
assert_equal(csort(r.to_s), csort("(0,0;100,0);(50,0;200,0)"))
|
||||
assert_equal(r.merged.to_s, "(0,0;200,0)")
|
||||
r.merge
|
||||
assert_equal(r.is_merged?, true)
|
||||
@@ -322,9 +324,14 @@ class DBEdges_TestClass < TestBase
|
||||
r = r1.dup
|
||||
r += r2
|
||||
assert_equal(csort(r.to_s), csort("(0,0;100,0);(50,0;200,0)"))
|
||||
r = r1.dup
|
||||
r.join_with(r2)
|
||||
assert_equal(csort(r.to_s), csort("(0,0;100,0);(50,0;200,0)"))
|
||||
|
||||
r = r1 | r2
|
||||
assert_equal(r.to_s, "(0,0;200,0)")
|
||||
r = r1.or(r2)
|
||||
assert_equal(r.to_s, "(0,0;200,0)")
|
||||
assert_equal(r.merged.to_s, "(0,0;200,0)")
|
||||
r.merge
|
||||
assert_equal(r.is_merged?, true)
|
||||
@@ -332,9 +339,14 @@ class DBEdges_TestClass < TestBase
|
||||
r = r1.dup
|
||||
r |= r2
|
||||
assert_equal(r.to_s, "(0,0;200,0)")
|
||||
r = r1.dup
|
||||
r.or_with(r2)
|
||||
assert_equal(r.to_s, "(0,0;200,0)")
|
||||
|
||||
r = r1 & r2
|
||||
assert_equal(r.to_s, "(50,0;100,0)")
|
||||
r = r1.and(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)")
|
||||
@@ -342,9 +354,14 @@ class DBEdges_TestClass < TestBase
|
||||
r = r1.dup
|
||||
r &= r2
|
||||
assert_equal(r.to_s, "(50,0;100,0)")
|
||||
r = r1.dup
|
||||
r.and_with(r2)
|
||||
assert_equal(r.to_s, "(50,0;100,0)")
|
||||
|
||||
r = r1 - r2
|
||||
assert_equal(r.to_s, "(0,0;50,0)")
|
||||
r = r1.not(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)")
|
||||
@@ -352,13 +369,21 @@ class DBEdges_TestClass < TestBase
|
||||
r = r1.dup
|
||||
r -= r2
|
||||
assert_equal(r.to_s, "(0,0;50,0)")
|
||||
r = r1.dup
|
||||
r.not_with(r2)
|
||||
assert_equal(r.to_s, "(0,0;50,0)")
|
||||
|
||||
r = r1 ^ r2
|
||||
assert_equal(csort(r.to_s), csort("(0,0;50,0);(100,0;200,0)"))
|
||||
r = r1.xor(r2)
|
||||
assert_equal(csort(r.to_s), csort("(0,0;50,0);(100,0;200,0)"))
|
||||
assert_equal(r.is_merged?, true)
|
||||
r = r1.dup
|
||||
r ^= r2
|
||||
assert_equal(csort(r.to_s), csort("(0,0;50,0);(100,0;200,0)"))
|
||||
r = r1.dup
|
||||
r.xor_with(r2)
|
||||
assert_equal(csort(r.to_s), csort("(0,0;50,0);(100,0;200,0)"))
|
||||
|
||||
end
|
||||
|
||||
|
||||
Vendored
+20
@@ -274,34 +274,54 @@ class DBRegion_TestClass < TestBase
|
||||
r2 = RBA::Region::new(RBA::Box::new(-10, -20, 80, 160))
|
||||
|
||||
assert_equal((r1 & r2).to_s, "(10,20;10,160;80,160;80,20)")
|
||||
assert_equal((r1.and(r2)).to_s, "(10,20;10,160;80,160;80,20)")
|
||||
assert_equal(r1.andnot(r2).count, 2)
|
||||
assert_equal(r1.andnot(r2)[0].to_s, "(10,20;10,160;80,160;80,20)")
|
||||
rr = r1.dup
|
||||
rr &= r2
|
||||
assert_equal(rr.to_s, "(10,20;10,160;80,160;80,20)")
|
||||
rr = r1.dup
|
||||
rr.and_with(r2)
|
||||
assert_equal(rr.to_s, "(10,20;10,160;80,160;80,20)")
|
||||
|
||||
assert_equal((r1 - r2).to_s, "(80,20;80,160;10,160;10,200;100,200;100,20)")
|
||||
assert_equal((r1.not(r2)).to_s, "(80,20;80,160;10,160;10,200;100,200;100,20)")
|
||||
assert_equal(r1.andnot(r2)[1].to_s, "(80,20;80,160;10,160;10,200;100,200;100,20)")
|
||||
rr = r1.dup
|
||||
rr -= r2
|
||||
assert_equal(rr.to_s, "(80,20;80,160;10,160;10,200;100,200;100,20)")
|
||||
rr = r1.dup
|
||||
rr.not_with(r2)
|
||||
assert_equal(rr.to_s, "(80,20;80,160;10,160;10,200;100,200;100,20)")
|
||||
|
||||
assert_equal((r1 ^ r2).to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20/10,20;80,20;80,160;10,160)")
|
||||
assert_equal((r1.xor(r2)).to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20/10,20;80,20;80,160;10,160)")
|
||||
r1.min_coherence = true
|
||||
assert_equal(csort((r1 ^ r2).to_s), csort("(-10,-20;-10,160;10,160;10,20;80,20;80,-20);(80,20;80,160;10,160;10,200;100,200;100,20)"))
|
||||
rr = r1.dup
|
||||
rr ^= r2
|
||||
assert_equal(csort(rr.to_s), csort("(-10,-20;-10,160;10,160;10,20;80,20;80,-20);(80,20;80,160;10,160;10,200;100,200;100,20)"))
|
||||
rr = r1.dup
|
||||
rr.xor_with(r2)
|
||||
assert_equal(csort(rr.to_s), csort("(-10,-20;-10,160;10,160;10,20;80,20;80,-20);(80,20;80,160;10,160;10,200;100,200;100,20)"))
|
||||
|
||||
assert_equal(csort((r1 + r2).to_s), csort("(10,20;10,200;100,200;100,20);(-10,-20;-10,160;80,160;80,-20)"))
|
||||
assert_equal(csort((r1.join(r2)).to_s), csort("(10,20;10,200;100,200;100,20);(-10,-20;-10,160;80,160;80,-20)"))
|
||||
rr = r1.dup
|
||||
rr += r2
|
||||
assert_equal(csort(rr.to_s), csort("(10,20;10,200;100,200;100,20);(-10,-20;-10,160;80,160;80,-20)"))
|
||||
rr = r1.dup
|
||||
rr.join_with(r2)
|
||||
assert_equal(csort(rr.to_s), csort("(10,20;10,200;100,200;100,20);(-10,-20;-10,160;80,160;80,-20)"))
|
||||
|
||||
assert_equal((r1 | r2).to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20)")
|
||||
assert_equal((r1.or(r2)).to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20)")
|
||||
rr = r1.dup
|
||||
rr |= r2
|
||||
assert_equal(rr.to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20)")
|
||||
rr = r1.dup
|
||||
rr.or_with(r2)
|
||||
assert_equal(rr.to_s, "(-10,-20;-10,160;10,160;10,200;100,200;100,20;80,20;80,-20)")
|
||||
|
||||
assert_equal((r1 + r2).sized(10).to_s, "(-20,-30;-20,170;0,170;0,210;110,210;110,10;90,10;90,-30)")
|
||||
rr = (r1 | r2).dup
|
||||
|
||||
Vendored
+6
-1
@@ -114,7 +114,12 @@ class DBTexts_TestClass < TestBase
|
||||
r1.insert(RBA::Text::new("uvm", RBA::Trans::new(RBA::Vector::new(111, 211))))
|
||||
|
||||
assert_equal(csort((r1 + r2).to_s), csort("('abc',r0 100,-200);('uvm',r0 110,210);('abc',r0 101,-201);('uvm',r0 111,211)"))
|
||||
r1 += r2
|
||||
assert_equal(csort((r1.join(r2)).to_s), csort("('abc',r0 100,-200);('uvm',r0 110,210);('abc',r0 101,-201);('uvm',r0 111,211)"))
|
||||
rr1 = r1.dup
|
||||
rr1 += r2
|
||||
assert_equal(csort(r1.to_s), csort("('abc',r0 100,-200);('uvm',r0 110,210);('abc',r0 101,-201);('uvm',r0 111,211)"))
|
||||
rr1 = r1.dup
|
||||
rr1.join_with(r2)
|
||||
assert_equal(csort(r1.to_s), csort("('abc',r0 100,-200);('uvm',r0 110,210);('abc',r0 101,-201);('uvm',r0 111,211)"))
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user