| 1556 | |
| 1557 | |
| 1558 | void |
| 1559 | testM44 () |
| 1560 | { |
| 1561 | object mainModule ((handle<> (borrowed (PyImport_AddModule ("__main__"))))); |
| 1562 | object mainNamespace = mainModule.attr ("__dict__"); |
| 1563 | |
| 1564 | std::cerr << "Testing M44*:\n"; |
| 1565 | |
| 1566 | std::string code = |
| 1567 | "from imath import *\n" |
| 1568 | "m44f = M44f ((1.1, 2.2, 3.3, 4.4),\n" |
| 1569 | " (5.5, 6.6, 7.7, 8.8),\n" |
| 1570 | " (9.9, 10.10, 11.11, 12.12),\n" |
| 1571 | " (13.13, 14.14, 15.15, 16.16))\n" |
| 1572 | "m44d = M44d ((17.17, 18.18, 19.19, 20.20),\n" |
| 1573 | " (21.21, 22.22, 23.23, 24.24),\n" |
| 1574 | " (25.25, 26.26, 27.27, 28.28),\n" |
| 1575 | " (29.29, 30.30, 31.31, 32.32))\n" |
| 1576 | "i = 1\n" |
| 1577 | "from wrap import *\n" |
| 1578 | "w = wrap ('M44f')\n" |
| 1579 | "assert w.equalWithAbsError (m44f, 1e-6)\n" |
| 1580 | "w = wrap ('M44d')\n" |
| 1581 | "m44d2 = M44d (m44f)\n" |
| 1582 | "assert w.equalWithAbsError (m44d2, 1e-6)\n"; |
| 1583 | |
| 1584 | handle<> ignored (PyRun_String (code.c_str(), Py_file_input, |
| 1585 | mainNamespace.ptr(), mainNamespace.ptr())); |
| 1586 | |
| 1587 | // |
| 1588 | |
| 1589 | extract <object> em44f (mainNamespace["m44f"]); |
| 1590 | assert (em44f.check()); |
| 1591 | |
| 1592 | PyObject *m44fObj = em44f().ptr(); |
| 1593 | assert (m44fObj != 0); |
| 1594 | |
| 1595 | extract <object> em44d (mainNamespace["m44d"]); |
| 1596 | assert (em44d.check()); |
| 1597 | |
| 1598 | PyObject *m44dObj = em44d().ptr(); |
| 1599 | assert (m44dObj != 0); |
| 1600 | |
| 1601 | extract <object> ei (mainNamespace["i"]); |
| 1602 | assert (ei.check()); |
| 1603 | |
| 1604 | PyObject *iObj = ei().ptr(); |
| 1605 | assert (iObj != 0); |
| 1606 | |
| 1607 | // |
| 1608 | |
| 1609 | std::cerr << "Testing M44f:\n"; |
| 1610 | |
| 1611 | IMATH_NAMESPACE::M44f m44fAsM44f; |
| 1612 | assert (PyImath::M44f::convert (m44fObj, &m44fAsM44f) == 1); |
| 1613 | IMATH_NAMESPACE::M44f m44ff (1.1f, 2.2f, 3.3f, 4.4f, |
| 1614 | 5.5f, 6.6f, 7.7f, 8.8f, |
| 1615 | 9.9f, 10.10f, 11.11f, 12.12f, |
nothing calls this directly
no test coverage detected