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

Method test_29

testdata/python/basic.py:1753–1812  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1751 self.assertEqual(pya.B.has_inst(), False)
1752
1753 def test_29(self):
1754
1755 # copy/ref semantics on return
1756
1757 c = pya.C()
1758
1759 cd = pya.CopyDetector(42)
1760
1761 cd2 = c.pass_cd_direct(cd)
1762 self.assertEqual(cd2.x(), 42)
1763 # two copies: one for return statement and then one for the new object
1764 self.assertEqual(cd2.xx(), 44)
1765
1766 cd2 = c.pass_cd_cref(cd)
1767 self.assertEqual(cd2.x(), 42)
1768 self.assertEqual(cd2.xx(), 43)
1769
1770 cd2 = c.pass_cd_cref_as_copy(cd)
1771 self.assertEqual(cd2.x(), 42)
1772 self.assertEqual(cd2.xx(), 43)
1773
1774 cd2 = c.pass_cd_cref_as_ref(cd)
1775 self.assertEqual(cd2.x(), 42)
1776 self.assertEqual(cd2.xx(), 42)
1777
1778 cd2 = c.pass_cd_cptr(cd)
1779 self.assertEqual(cd2.x(), 42)
1780 self.assertEqual(cd2.xx(), 42)
1781
1782 cd2 = c.pass_cd_cptr_as_copy(cd)
1783 self.assertEqual(cd2.x(), 42)
1784 self.assertEqual(cd2.xx(), 43)
1785
1786 cd2 = c.pass_cd_cptr_as_ref(cd)
1787 self.assertEqual(cd2.x(), 42)
1788 self.assertEqual(cd2.xx(), 42)
1789
1790 cd2 = c.pass_cd_ptr(cd)
1791 self.assertEqual(cd2.x(), 42)
1792 self.assertEqual(cd2.xx(), 42)
1793
1794 cd2 = c.pass_cd_ptr_as_copy(cd)
1795 self.assertEqual(cd2.x(), 42)
1796 self.assertEqual(cd2.xx(), 43)
1797
1798 cd2 = c.pass_cd_ptr_as_ref(cd)
1799 self.assertEqual(cd2.x(), 42)
1800 self.assertEqual(cd2.xx(), 42)
1801
1802 cd2 = c.pass_cd_ref(cd)
1803 self.assertEqual(cd2.x(), 42)
1804 self.assertEqual(cd2.xx(), 42)
1805
1806 cd2 = c.pass_cd_ref_as_copy(cd)
1807 self.assertEqual(cd2.x(), 42)
1808 self.assertEqual(cd2.xx(), 43)
1809
1810 cd2 = c.pass_cd_ref_as_ref(cd)

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected