klayout/testdata/drc/drcSimpleTests_25.drc

54 lines
1.6 KiB
Plaintext

source $drc_test_source
target $drc_test_target
if $drc_test_deep
deep
end
l1 = input(1, 0)
l2 = input(2, 0)
l3 = input(3, 0)
l1.output(1, 0)
l2.output(2, 0)
l3.output(3, 0)
# Self-test "projection_limits"
def self_test(id, a, b)
a == b || raise(id + ": self-test failed (" + a.inspect + " != " + b.inspect + ")")
end
l = projection_limits(0..2.0)
self_test("projection_limits(1)", l.get_limits(self), [ 0, 2000 ])
l = projecting < 2.0
self_test("projection_limits(2)", l.get_limits(self), [ 0, 2000 ])
l = projecting <= 2.0
self_test("projection_limits(3)", l.get_limits(self), [ 0, 2001 ])
l = projecting == 2.0
self_test("projection_limits(3)", l.get_limits(self), [ 2000, 2001 ])
l = projecting > 2.0
self_test("projection_limits(3)", l.get_limits(self), [ 2001, nil ])
l = projecting >= 2.0
self_test("projection_limits(3)", l.get_limits(self), [ 2000, nil ])
l = 1.0 < projecting < 2.0
self_test("projection_limits(3)", l.get_limits(self), [ 1001, 2000 ])
l1.space(1.0, projection).polygons.output(100, 0)
l1.space(1.0, euclidian).polygons.output(110, 0)
l1.space(1.0, projection, projection_limits(0..2.0)).polygons.output(111, 0)
l1.space(1.0, projection, whole_edges).polygons.output(112, 0)
l1.space(1.0, projection, only_opposite).output(113, 0)
l1.space(1.0, projection, not_opposite).output(114, 0)
l1.isolated(1.0, euclidian).polygons.output(120, 0)
l1.isolated(1.0, projection, projecting < 2.0.um).polygons.output(121, 0)
l1.isolated(1.0, projection, whole_edges).polygons.output(122, 0)
l1.isolated(1.0, projection, only_opposite).output(123, 0)
l1.isolated(1.0, projection, not_opposite).output(124, 0)