MCPcopy Create free account
hub / github.com/KLayout/klayout / test_29

Method test_29

testdata/ruby/basic_testcore.rb:1688–1749  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1686 end
1687
1688 def test_29
1689
1690 # copy/ref semantics on return
1691
1692 c = RBA::C::new
1693
1694 cd = RBA::CopyDetector::new(42)
1695
1696 cd2 = c.pass_cd_direct(cd)
1697 assert_equal(cd2.x, 42)
1698 # two copies: one for return statement and then one for the new object
1699 assert_equal(cd2.xx, 44)
1700
1701 cd2 = c.pass_cd_cref(cd)
1702 assert_equal(cd2.x, 42)
1703 assert_equal(cd2.xx, 43)
1704
1705 cd2 = c.pass_cd_cref_as_copy(cd)
1706 assert_equal(cd2.x, 42)
1707 assert_equal(cd2.xx, 43)
1708
1709 cd2 = c.pass_cd_cref_as_ref(cd)
1710 assert_equal(cd2.x, 42)
1711 assert_equal(cd2.xx, 42)
1712
1713 cd2 = c.pass_cd_cptr(cd)
1714 assert_equal(cd2.x, 42)
1715 assert_equal(cd2.xx, 42)
1716
1717 cd2 = c.pass_cd_cptr_as_copy(cd)
1718 assert_equal(cd2.x, 42)
1719 assert_equal(cd2.xx, 43)
1720
1721 cd2 = c.pass_cd_cptr_as_ref(cd)
1722 assert_equal(cd2.x, 42)
1723 assert_equal(cd2.xx, 42)
1724
1725 cd2 = c.pass_cd_ptr(cd)
1726 assert_equal(cd2.x, 42)
1727 assert_equal(cd2.xx, 42)
1728
1729 cd2 = c.pass_cd_ptr_as_copy(cd)
1730 assert_equal(cd2.x, 42)
1731 assert_equal(cd2.xx, 43)
1732
1733 cd2 = c.pass_cd_ptr_as_ref(cd)
1734 assert_equal(cd2.x, 42)
1735 assert_equal(cd2.xx, 42)
1736
1737 cd2 = c.pass_cd_ref(cd)
1738 assert_equal(cd2.x, 42)
1739 assert_equal(cd2.xx, 42)
1740
1741 cd2 = c.pass_cd_ref_as_copy(cd)
1742 assert_equal(cd2.x, 42)
1743 assert_equal(cd2.xx, 43)
1744
1745 cd2 = c.pass_cd_ref_as_ref(cd)

Callers

nothing calls this directly

Calls 5

pass_cd_directMethod · 0.80
pass_cd_cptrMethod · 0.80
pass_cd_ptrMethod · 0.80
xMethod · 0.45
xxMethod · 0.45

Tested by

no test coverage detected