mirror of https://github.com/KLayout/klayout.git
Fixing RBA dbInstances tests
This commit is contained in:
parent
b4d1aa131c
commit
a7a4ff0cf2
|
|
@ -31,6 +31,12 @@ class DBInstance_TestClass < TestBase
|
|||
# this only works in editable mode
|
||||
ly = RBA::Layout::new(true)
|
||||
|
||||
pid4 = ly.properties_id( { "id" => 4 } )
|
||||
pid5 = ly.properties_id( { "id" => 5 } )
|
||||
pid7 = ly.properties_id( { "id" => 7 } )
|
||||
pid14 = ly.properties_id( { "id" => 14 } )
|
||||
pid15 = ly.properties_id( { "id" => 15 } )
|
||||
|
||||
ci1 = ly.add_cell( "c1" )
|
||||
ci2 = ly.add_cell( "c2" )
|
||||
ci3 = ly.add_cell( "c3" )
|
||||
|
|
@ -76,35 +82,35 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.replace_prop_id( inst_ref, 5 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=5" )
|
||||
inst_ref = c2.replace_prop_id( inst_ref, pid5 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>5}" )
|
||||
|
||||
inst_ref = c2.replace( inst_ref, RBA::CellInstArray::new( c3.cell_index, tr ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 r90 100,-50 prop_id=5" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 r90 100,-50 props={id=>5}" )
|
||||
|
||||
inst_ref = c2.replace( inst_ref, RBA::CellInstArray::new( c1.cell_index, tr ), 7 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=7" )
|
||||
inst_ref = c2.replace( inst_ref, RBA::CellInstArray::new( c1.cell_index, tr ), pid7 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>7}" )
|
||||
|
||||
inst_ref = c2.transform( inst_ref, RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r0 50,100 prop_id=7" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r0 50,100 props={id=>7}" )
|
||||
|
||||
inst_ref = c2.transform( inst_ref, RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r45 *0.5 -18,53 prop_id=7" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r45 *0.5 -18,53 props={id=>7}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::Box::new(-30, 50, -28, 80)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::Box::new(-30, 50, -29, 80)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::Box::new(-31, 50, -30, 80)) { |i| arr.push( i.to_s ) }
|
||||
|
|
@ -112,7 +118,7 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_overlapping_inst(RBA::Box::new(-30, 50, -28, 80)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_overlapping_inst(RBA::Box::new(-30, 50, -29, 80)) { |i| arr.push( i.to_s ) }
|
||||
|
|
@ -122,12 +128,12 @@ class DBInstance_TestClass < TestBase
|
|||
c2.each_overlapping_inst(RBA::Box::new(-31, 50, -30, 80)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ ] )
|
||||
|
||||
inst_ref2 = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), 14 )
|
||||
inst_ref2 = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), pid14 )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7",
|
||||
"cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}",
|
||||
"cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
assert_equal( inst_ref.is_valid?, true )
|
||||
assert_equal( c2.is_valid?(inst_ref), true )
|
||||
|
|
@ -139,7 +145,7 @@ class DBInstance_TestClass < TestBase
|
|||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50",
|
||||
"cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
"cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
c2.erase( inst_ref2 )
|
||||
c2.erase( inst_ref3 )
|
||||
|
|
@ -148,20 +154,20 @@ class DBInstance_TestClass < TestBase
|
|||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ ] )
|
||||
|
||||
inst_ref2 = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), 14 )
|
||||
inst_ref = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), 15 )
|
||||
inst_ref2 = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), pid14 )
|
||||
inst_ref = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), pid15 )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r90 100,-50 prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r90 100,-50 props={id=>15}" ] )
|
||||
|
||||
inst_ref.delete
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
inst_ref = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), 15 )
|
||||
inst_ref = c2.insert( RBA::CellInstArray::new( c3.cell_index, tr ), pid15 )
|
||||
assert_equal( inst_ref.is_regular_array?, false )
|
||||
inst_ref.na = 2
|
||||
assert_equal( inst_ref.is_regular_array?, true )
|
||||
|
|
@ -176,19 +182,19 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r90 100,-50 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r90 100,-50 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.cplx_trans = RBA::ICplxTrans::new(2.5)
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r0 *2.5 0,0 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r0 *2.5 0,0 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::ICplxTrans::new(2.0) )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r0 *5 0,0 array=(2,4,20,40 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r0 *5 0,0 array=(2,4,20,40 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::ICplxTrans::new(0.5) )
|
||||
assert_equal( inst_ref.cplx_trans.to_s, "r0 *2.5 0,0" )
|
||||
|
|
@ -197,7 +203,7 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 m135 0,0 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 m135 0,0 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::Trans::new(3) )
|
||||
assert_equal( inst_ref.cplx_trans.to_s, "m90 *1 0,0" )
|
||||
|
|
@ -207,14 +213,14 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 m90 0,0 array=(2,-1,20,-10 2x3) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 m90 0,0 array=(2,-1,20,-10 2x3) props={id=>15}" ] )
|
||||
|
||||
inst_ref.explode
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 m90 0,0 prop_id=15" );
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 m90 0,0 props={id=>15}" );
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 m90 2,-1 prop_id=15", "cell_index=2 m90 0,0 prop_id=15", "cell_index=2 m90 20,-10 prop_id=15", "cell_index=2 m90 22,-11 prop_id=15", "cell_index=2 m90 40,-20 prop_id=15", "cell_index=2 m90 42,-21 prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 m90 2,-1 props={id=>15}", "cell_index=2 m90 0,0 props={id=>15}", "cell_index=2 m90 20,-10 props={id=>15}", "cell_index=2 m90 22,-11 props={id=>15}", "cell_index=2 m90 40,-20 props={id=>15}", "cell_index=2 m90 42,-21 props={id=>15}" ] )
|
||||
|
||||
end
|
||||
|
||||
|
|
@ -224,6 +230,8 @@ class DBInstance_TestClass < TestBase
|
|||
# this only works in editable mode
|
||||
ly = RBA::Layout::new(true)
|
||||
|
||||
pid4 = ly.properties_id( { "id" => 4 } )
|
||||
|
||||
ci1 = ly.add_cell( "c1" )
|
||||
ci2 = ly.add_cell( "c2" )
|
||||
ci3 = ly.add_cell( "c3" )
|
||||
|
|
@ -256,21 +264,21 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::Trans::new( RBA::Trans::R90, RBA::Point::new( 101, -51 ) )
|
||||
|
|
@ -284,21 +292,21 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::Trans::new( RBA::Trans::R90, RBA::Point::new( 101, -51 ) )
|
||||
|
|
@ -312,22 +320,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::Trans::new( RBA::Trans::R90, RBA::Point::new( 101, -51 ) )
|
||||
|
|
@ -341,22 +349,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::Trans::new( RBA::Trans::R90, RBA::Point::new( 101, -51 ) )
|
||||
|
|
@ -370,22 +378,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.layout.transform( RBA::Trans::new( 3, false, 100, 200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.layout.transform( RBA::ICplxTrans::new( 0.5, 45.0, false, RBA::Point::new ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 props={id=>4}" ] )
|
||||
|
||||
end
|
||||
|
||||
|
|
@ -494,6 +502,12 @@ class DBInstance_TestClass < TestBase
|
|||
# this only works in editable mode
|
||||
ly = RBA::Layout::new(true)
|
||||
|
||||
pid4 = ly.properties_id( { "id" => 4 } )
|
||||
pid5 = ly.properties_id( { "id" => 5 } )
|
||||
pid7 = ly.properties_id( { "id" => 7 } )
|
||||
pid14 = ly.properties_id( { "id" => 14 } )
|
||||
pid15 = ly.properties_id( { "id" => 15 } )
|
||||
|
||||
ci1 = ly.add_cell( "c1" )
|
||||
ci2 = ly.add_cell( "c2" )
|
||||
ci3 = ly.add_cell( "c3" )
|
||||
|
|
@ -539,35 +553,35 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.dcell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.replace_prop_id( inst_ref, 5 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=5" )
|
||||
inst_ref = c2.replace_prop_id( inst_ref, pid5 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>5}" )
|
||||
|
||||
inst_ref = c2.replace( inst_ref, RBA::DCellInstArray::new( c3.cell_index, tr ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 r90 100,-50 prop_id=5" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 r90 100,-50 props={id=>5}" )
|
||||
|
||||
inst_ref = c2.replace( inst_ref, RBA::DCellInstArray::new( c1.cell_index, tr ), 7 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=7" )
|
||||
inst_ref = c2.replace( inst_ref, RBA::DCellInstArray::new( c1.cell_index, tr ), pid7 )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>7}" )
|
||||
|
||||
inst_ref = c2.transform( inst_ref, RBA::DTrans::new( 3, false, 0.1, 0.2 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r0 50,100 prop_id=7" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r0 50,100 props={id=>7}" )
|
||||
|
||||
inst_ref = c2.transform( inst_ref, RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r45 *0.5 -18,53 prop_id=7" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r45 *0.5 -18,53 props={id=>7}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::DBox::new(-0.030, 0.050, -0.028, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::DBox::new(-0.030, 0.050, -0.029, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_touching_inst(RBA::DBox::new(-0.031, 0.050, -0.030, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
|
|
@ -575,7 +589,7 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_overlapping_inst(RBA::DBox::new(-0.030, 0.050, -0.028, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}" ] )
|
||||
|
||||
arr = []
|
||||
c2.each_overlapping_inst(RBA::DBox::new(-0.030, 0.050, -0.029, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
|
|
@ -585,12 +599,12 @@ class DBInstance_TestClass < TestBase
|
|||
c2.each_overlapping_inst(RBA::DBox::new(-0.031, 0.050, -0.030, 0.080)) { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ ] )
|
||||
|
||||
inst_ref2 = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), 14 )
|
||||
inst_ref2 = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), pid14 )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 prop_id=7",
|
||||
"cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r45 *0.5 -18,53 props={id=>7}",
|
||||
"cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
assert_equal( inst_ref.is_valid?, true )
|
||||
assert_equal( c2.is_valid?(inst_ref), true )
|
||||
|
|
@ -602,7 +616,7 @@ class DBInstance_TestClass < TestBase
|
|||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50",
|
||||
"cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
"cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
c2.erase( inst_ref2 )
|
||||
c2.erase( inst_ref3 )
|
||||
|
|
@ -611,20 +625,20 @@ class DBInstance_TestClass < TestBase
|
|||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ ] )
|
||||
|
||||
inst_ref2 = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), 14 )
|
||||
inst_ref = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), 15 )
|
||||
inst_ref2 = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), pid14 )
|
||||
inst_ref = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), pid15 )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r90 100,-50 prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r90 100,-50 props={id=>15}" ] )
|
||||
|
||||
inst_ref.delete
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}" ] )
|
||||
|
||||
inst_ref = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), 15 )
|
||||
inst_ref = c2.insert( RBA::DCellInstArray::new( c3.cell_index, tr ), pid15 )
|
||||
assert_equal( inst_ref.is_regular_array?, false )
|
||||
inst_ref.na = 2
|
||||
assert_equal( inst_ref.is_regular_array?, true )
|
||||
|
|
@ -639,19 +653,19 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r90 100,-50 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r90 100,-50 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.dcplx_trans = RBA::DCplxTrans::new(2.5)
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r0 *2.5 0,0 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r0 *2.5 0,0 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::DCplxTrans::new(2.0) )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 r0 *5 0,0 array=(2,4,20,40 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 r0 *5 0,0 array=(2,4,20,40 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::DCplxTrans::new(0.5) )
|
||||
assert_equal( inst_ref.cplx_trans.to_s, "r0 *2.5 0,0" )
|
||||
|
|
@ -660,7 +674,7 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 prop_id=14", "cell_index=2 m135 0,0 array=(1,2,10,20 2x21) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 r90 100,-50 props={id=>14}", "cell_index=2 m135 0,0 array=(1,2,10,20 2x21) props={id=>15}" ] )
|
||||
|
||||
inst_ref.transform( RBA::DTrans::new(3) )
|
||||
assert_equal( inst_ref.cplx_trans.to_s, "m90 *1 0,0" )
|
||||
|
|
@ -670,14 +684,14 @@ class DBInstance_TestClass < TestBase
|
|||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 m90 0,0 array=(2,-1,20,-10 2x3) prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 m90 0,0 array=(2,-1,20,-10 2x3) props={id=>15}" ] )
|
||||
|
||||
inst_ref.explode
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 m90 0,0 prop_id=15" );
|
||||
assert_equal( inst_ref.to_s, "cell_index=2 m90 0,0 props={id=>15}" );
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=2 m90 2,-1 prop_id=15", "cell_index=2 m90 0,0 prop_id=15", "cell_index=2 m90 20,-10 prop_id=15", "cell_index=2 m90 22,-11 prop_id=15", "cell_index=2 m90 40,-20 prop_id=15", "cell_index=2 m90 42,-21 prop_id=15" ] )
|
||||
assert_equal( arr, [ "cell_index=2 m90 2,-1 props={id=>15}", "cell_index=2 m90 0,0 props={id=>15}", "cell_index=2 m90 20,-10 props={id=>15}", "cell_index=2 m90 22,-11 props={id=>15}", "cell_index=2 m90 40,-20 props={id=>15}", "cell_index=2 m90 42,-21 props={id=>15}" ] )
|
||||
|
||||
end
|
||||
|
||||
|
|
@ -687,6 +701,8 @@ class DBInstance_TestClass < TestBase
|
|||
# this only works in editable mode
|
||||
ly = RBA::Layout::new(true)
|
||||
|
||||
pid4 = ly.properties_id( { "id" => 4 } )
|
||||
|
||||
ci1 = ly.add_cell( "c1" )
|
||||
ci2 = ly.add_cell( "c2" )
|
||||
ci3 = ly.add_cell( "c3" )
|
||||
|
|
@ -719,21 +735,21 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::DTrans::new( 3, false, 0.100, 0.200 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new(0.001, 0.002) ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 91,89 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 91,89 props={id=>4}" )
|
||||
|
||||
inst_ref = c2.transform_into( inst_ref, RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 1,64 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 1,64 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 1,64 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 1,64 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::DTrans::new( RBA::DTrans::R90, RBA::DPoint::new( 0.101, -0.051 ) )
|
||||
|
|
@ -747,21 +763,21 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::DTrans::new( 3, false, 0.100, 0.200 ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
inst_ref.transform_into( RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new ) )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 0,62 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 0,62 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::DTrans::new( RBA::DTrans::R90, RBA::DPoint::new( 0.101, -0.051 ) )
|
||||
|
|
@ -775,22 +791,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::DTrans::new( 3, false, 0.100, 0.200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new(0.001, -0.001) ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,86 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,86 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,86 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,86 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::DTrans::new( RBA::DTrans::R90, RBA::DPoint::new( 0.101, -0.051 ) )
|
||||
|
|
@ -804,22 +820,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::DTrans::new( 3, false, 0.100, 0.200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.transform_into( RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 88,88 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 88,88 props={id=>4}" ] )
|
||||
|
||||
c2.clear
|
||||
tr = RBA::DTrans::new( RBA::DTrans::R90, RBA::DPoint::new( 0.101, -0.051 ) )
|
||||
|
|
@ -833,22 +849,22 @@ class DBInstance_TestClass < TestBase
|
|||
inst_ref.cell_inst = inst
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50" )
|
||||
|
||||
inst_ref.prop_id = 4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 prop_id=4" )
|
||||
inst_ref.prop_id = pid4
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 100,-50 props={id=>4}" )
|
||||
|
||||
c2.layout.transform( RBA::DTrans::new( 3, false, 0.100, 0.200 ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 250,0 props={id=>4}" )
|
||||
|
||||
c2.layout.transform( RBA::DCplxTrans::new( 0.5, 45.0, false, RBA::DPoint::new(0.001, 0.001) ) )
|
||||
inst_ref = nil
|
||||
c2.each_inst { |i| inst_ref = i }
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 90,88 prop_id=4" )
|
||||
assert_equal( inst_ref.to_s, "cell_index=0 r90 90,88 props={id=>4}" )
|
||||
|
||||
arr = []
|
||||
c2.each_inst { |i| arr.push( i.to_s ) }
|
||||
assert_equal( arr, [ "cell_index=0 r90 90,88 prop_id=4" ] )
|
||||
assert_equal( arr, [ "cell_index=0 r90 90,88 props={id=>4}" ] )
|
||||
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue