test-references/org/apache/batik/ext/awt/geom/rlm.merge.in (73 lines of code) (raw):

# Test merging stuff RectListManger rlm1-1 rect 0 0 30 30 rect 10 10 30 30 rect 20 20 30 30 rect 30 30 30 30 rect 40 40 30 30 merge 0 0 print RectListManger rlm2-1 rect 0 0 30 30 rect 20 20 30 30 rect 40 40 30 30 # Should not collapse (overhead not high enough) merge 0 0 print # Should not collapse (overhead not high enough) merge 400 0 print # Should collapse (overhead high enough) merge 700 0 print RectListManger rlm3-1 rect 0 40 30 30 rect 20 20 30 30 rect 40 0 30 30 # Should not collapse (overhead not high enough) merge 0 0 print # Should not collapse (overhead not high enough) merge 400 0 print # Should collapse (overhead high enough) merge 700 0 print RectListManger rlm4-1 rect 0 0 30 30 rect 40 0 30 30 # Should not collapse (overhead not high enough) merge 0 0 print # Should collapse (overhead high enough) merge 400 0 print RectListManger rlm5-1 rect 0 0 30 30 rect 40 0 30 30 # Should collapse (line overhead high enough) merge 0 11 print RectListManger rlm6-1 rect 0 0 30 30 rect 0 40 30 30 # Should not collapse (overhead not high enough) merge 0 0 print # Should collapse (overhead high enough) merge 400 0 print RectListManger rlm7-1 rect 0 0 30 30 rect 0 40 30 30 # Should not collapse (line overhead does affect) merge 0 11 print # Should not collapse (line overhead affects merged) merge 400 11 print # Should collapse (overhead overcomes) merge 440 11 print # This reproduces a bug in the original merge code. # The tricky bit is that Rect 1 & 2 won't merge but # rects 1 & 4 will the result will merge with 2. # This caused an infinate loop. RectListManger rlm8-1 rect 194 218 1 1 rect 200 10 1 1 rect 226 246 1 1 rect 227 228 1 1 print merge 1000 10 print