mirror of https://github.com/KLayout/klayout.git
Fixing unit tests
This commit is contained in:
parent
37f9feaadd
commit
786c60a28e
|
|
@ -2151,14 +2151,19 @@ TEST(40_BoolWithProperties)
|
||||||
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
||||||
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r1 (si1, dss);
|
db::Region r1 (si1, dss);
|
||||||
|
EXPECT_EQ (r1.join_properties_on_merge (), true);
|
||||||
|
r1.set_join_properties_on_merge (false);
|
||||||
|
EXPECT_EQ (r1.join_properties_on_merge (), false);
|
||||||
|
|
||||||
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
||||||
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r2 (si2, dss);
|
db::Region r2 (si2, dss);
|
||||||
|
r2.set_join_properties_on_merge (false);
|
||||||
|
|
||||||
db::RecursiveShapeIterator si3 (ly, top_cell, l3);
|
db::RecursiveShapeIterator si3 (ly, top_cell, l3);
|
||||||
si3.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si3.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r3 (si3, dss);
|
db::Region r3 (si3, dss);
|
||||||
|
r3.set_join_properties_on_merge (false);
|
||||||
|
|
||||||
db::Layout target;
|
db::Layout target;
|
||||||
unsigned int target_top_cell_index = target.add_cell (ly.cell_name (top_cell_index));
|
unsigned int target_top_cell_index = target.add_cell (ly.cell_name (top_cell_index));
|
||||||
|
|
@ -2169,6 +2174,9 @@ TEST(40_BoolWithProperties)
|
||||||
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (10, 0)), r1.merged ());
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (10, 0)), r1.merged ());
|
||||||
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (11, 0)), r2.merged ());
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (11, 0)), r2.merged ());
|
||||||
|
|
||||||
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (12, 0)), r1.merged (false, 0, true));
|
||||||
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (13, 0)), r2.merged (false, 0, true));
|
||||||
|
|
||||||
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (20, 0)), r1 & r2);
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (20, 0)), r1 & r2);
|
||||||
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (21, 0)), r1.bool_and (r2, db::NoPropertyConstraint));
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (21, 0)), r1.bool_and (r2, db::NoPropertyConstraint));
|
||||||
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (22, 0)), r1.bool_and (r2, db::SamePropertiesConstraint));
|
target.insert (target_top_cell_index, target.get_layer (db::LayerProperties (22, 0)), r1.bool_and (r2, db::SamePropertiesConstraint));
|
||||||
|
|
@ -2307,12 +2315,14 @@ TEST(42_DRCWithProperties)
|
||||||
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
||||||
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r1 (si1, dss);
|
db::Region r1 (si1, dss);
|
||||||
|
r1.set_join_properties_on_merge (false);
|
||||||
db::Region r1_nomerge (r1);
|
db::Region r1_nomerge (r1);
|
||||||
r1_nomerge.set_merged_semantics (false);
|
r1_nomerge.set_merged_semantics (false);
|
||||||
|
|
||||||
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
||||||
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r2 (si2, dss);
|
db::Region r2 (si2, dss);
|
||||||
|
r2.set_join_properties_on_merge (false);
|
||||||
db::Region r2_nomerge (r2);
|
db::Region r2_nomerge (r2);
|
||||||
r2_nomerge.set_merged_semantics (false);
|
r2_nomerge.set_merged_semantics (false);
|
||||||
|
|
||||||
|
|
@ -2465,10 +2475,12 @@ TEST(44_SizeWithProperties)
|
||||||
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
db::RecursiveShapeIterator si1 (ly, top_cell, l1);
|
||||||
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si1.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r1 (si1, dss);
|
db::Region r1 (si1, dss);
|
||||||
|
r1.set_join_properties_on_merge (false);
|
||||||
|
|
||||||
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
db::RecursiveShapeIterator si2 (ly, top_cell, l2);
|
||||||
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
si2.apply_property_translator (db::PropertiesTranslator::make_pass_all ());
|
||||||
db::Region r2 (si2, dss);
|
db::Region r2 (si2, dss);
|
||||||
|
r2.set_join_properties_on_merge (false);
|
||||||
|
|
||||||
db::Layout target;
|
db::Layout target;
|
||||||
unsigned int target_top_cell_index = target.add_cell (ly.cell_name (top_cell_index));
|
unsigned int target_top_cell_index = target.add_cell (ly.cell_name (top_cell_index));
|
||||||
|
|
|
||||||
|
|
@ -2214,6 +2214,7 @@ TEST(52_PropertiesDeep)
|
||||||
++s;
|
++s;
|
||||||
EXPECT_EQ (s.at_end (), true);
|
EXPECT_EQ (s.at_end (), true);
|
||||||
|
|
||||||
|
r.set_join_properties_on_merge (false);
|
||||||
s = r.begin_merged ();
|
s = r.begin_merged ();
|
||||||
EXPECT_EQ (s.at_end (), false);
|
EXPECT_EQ (s.at_end (), false);
|
||||||
EXPECT_EQ (s.prop_id (), db::properties_id_type (0));
|
EXPECT_EQ (s.prop_id (), db::properties_id_type (0));
|
||||||
|
|
@ -2234,6 +2235,16 @@ TEST(52_PropertiesDeep)
|
||||||
++s;
|
++s;
|
||||||
|
|
||||||
EXPECT_EQ (s.at_end (), true);
|
EXPECT_EQ (s.at_end (), true);
|
||||||
|
|
||||||
|
r.set_join_properties_on_merge (true);
|
||||||
|
s = r.begin_merged ();
|
||||||
|
EXPECT_EQ (s.at_end (), false);
|
||||||
|
|
||||||
|
// polygons are merged with "maximum" property value
|
||||||
|
EXPECT_EQ (db::PolygonWithProperties (*s, s.prop_id ()).to_string (), "(0,0;0,200;1,200;1,202;10,202;10,220;110,220;110,212;111,212;111,12;101,12;101,2;100,2;100,0) props={id=>42}");
|
||||||
|
++s;
|
||||||
|
|
||||||
|
EXPECT_EQ (s.at_end (), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(53_PropertiesDeepFromLayout)
|
TEST(53_PropertiesDeepFromLayout)
|
||||||
|
|
@ -2345,6 +2356,7 @@ TEST(53_PropertiesDeepFromLayout)
|
||||||
++s;
|
++s;
|
||||||
EXPECT_EQ (s.at_end (), true);
|
EXPECT_EQ (s.at_end (), true);
|
||||||
|
|
||||||
|
r.set_join_properties_on_merge (false);
|
||||||
s = r.begin_merged ();
|
s = r.begin_merged ();
|
||||||
EXPECT_EQ (s.at_end (), false);
|
EXPECT_EQ (s.at_end (), false);
|
||||||
EXPECT_EQ (s.prop_id (), db::properties_id_type (0));
|
EXPECT_EQ (s.prop_id (), db::properties_id_type (0));
|
||||||
|
|
@ -2365,6 +2377,16 @@ TEST(53_PropertiesDeepFromLayout)
|
||||||
++s;
|
++s;
|
||||||
|
|
||||||
EXPECT_EQ (s.at_end (), true);
|
EXPECT_EQ (s.at_end (), true);
|
||||||
|
|
||||||
|
r.set_join_properties_on_merge (true);
|
||||||
|
s = r.begin_merged ();
|
||||||
|
EXPECT_EQ (s.at_end (), false);
|
||||||
|
|
||||||
|
// polygons are merged with "maximum" property value
|
||||||
|
EXPECT_EQ (db::PolygonWithProperties (*s, s.prop_id ()).to_string (), "(0,0;0,200;1,200;1,202;10,202;10,220;110,220;110,212;111,212;111,12;101,12;101,2;100,2;100,0) props={VALUE=>42}");
|
||||||
|
++s;
|
||||||
|
|
||||||
|
EXPECT_EQ (s.at_end (), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(54_PropertiesFilterDeep)
|
TEST(54_PropertiesFilterDeep)
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1679,6 +1679,8 @@ class DBRegion_TestClass < TestBase
|
||||||
iter = top.begin_shapes_rec(l1)
|
iter = top.begin_shapes_rec(l1)
|
||||||
iter.enable_properties()
|
iter.enable_properties()
|
||||||
r = RBA::Region::new(iter, dss)
|
r = RBA::Region::new(iter, dss)
|
||||||
|
r.join_properties_on_merge = false
|
||||||
|
assert_equal(r.join_properties_on_merge, false)
|
||||||
|
|
||||||
assert_equal(r.filtered(RBA::PolygonFilter::property_filter("one", 11)).to_s, "")
|
assert_equal(r.filtered(RBA::PolygonFilter::property_filter("one", 11)).to_s, "")
|
||||||
assert_equal(r.filtered(RBA::PolygonFilter::property_filter("two", 17)).to_s, "")
|
assert_equal(r.filtered(RBA::PolygonFilter::property_filter("two", 17)).to_s, "")
|
||||||
|
|
@ -1695,6 +1697,10 @@ class DBRegion_TestClass < TestBase
|
||||||
rr.filter(RBA::PolygonFilter::property_filter("one", 17))
|
rr.filter(RBA::PolygonFilter::property_filter("one", 17))
|
||||||
assert_equal(csort(rr.to_s), csort("(1,1;1,201;101,201;101,1){one=>17}"))
|
assert_equal(csort(rr.to_s), csort("(1,1;1,201;101,201;101,1){one=>17}"))
|
||||||
|
|
||||||
|
r.join_properties_on_merge = true
|
||||||
|
assert_equal(r.join_properties_on_merge, true)
|
||||||
|
assert_equal(csort(r.filtered(RBA::PolygonFilter::property_filter("one", 42)).to_s), csort("(0,0;0,200;1,200;1,201;2,201;2,202;102,202;102,2;101,2;101,1;100,1;100,0){one=>42}"))
|
||||||
|
|
||||||
dss._destroy
|
dss._destroy
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue