rich7420 opened a new issue, #604: URL: https://github.com/apache/mahout/issues/604
This issue improves test coverage for Qumat by adding comprehensive unit tests for all quantum gates and circuit operations. Currently, the test suite has basic tests for circuit creation, swap test, and overlap measurement, but lacks dedicated unit tests for individual quantum gates and parameterized circuits. The Qumat library currently has the following test coverage: - Basic circuit creation tests (`test_create_circuit.py`) - Swap test functionality (`test_swap_test.py`) - Overlap measurement (`test_overlap_measurement.py`) - Final quantum states comparison (`test_final_quantum_states.py`) However, there are gaps in test coverage: - No dedicated unit tests for individual quantum gates (Pauli X/Y/Z, Hadamard, rotation gates, etc.) - No comprehensive tests for parameterized circuits - Limited error handling tests - Missing edge case tests ### Goal The goal of this issue is to improve code coverage for qumat/qumat.py by adding comprehensive test files for: 1. All single-qubit gates (Pauli X/Y/Z, Hadamard, NOT, rotation gates, U gate) 2. All multi-qubit gates (CNOT, Toffoli, SWAP, CSWAP) 3. Parameterized circuit operations 4. Error handling and edge cases 5. Backend consistency across Qiskit, Cirq, and Amazon Braket ### Test Files to Create This issue proposes creating 23 test files below , each focusing on a specific area of functionality. We can discuss with increasing or decreasing test files. #### Single-Qubit Gates (9 files) 1. `test_pauli_x_gate.py` - Test Pauli X gate functionality 2. `test_pauli_y_gate.py` - Test Pauli Y gate functionality 3. `test_pauli_z_gate.py` - Test Pauli Z gate functionality 4. `test_hadamard_gate.py` - Test Hadamard gate functionality 5. `test_not_gate.py` - Test NOT gate functionality 6. `test_rx_gate.py` - Test RX rotation gate functionality 7. `test_ry_gate.py` - Test RY rotation gate functionality 8. `test_rz_gate.py` - Test RZ rotation gate functionality 9. `test_u_gate.py` - Test U gate (universal single-qubit gate) functionality #### Multi-Qubit Gates (4 files) 10. `test_cnot_gate.py` - Test CNOT gate functionality 11. `test_toffoli_gate.py` - Test Toffoli gate functionality 12. `test_swap_gate.py` - Test SWAP gate functionality 13. `test_cswap_gate.py` - Test CSWAP gate functionality #### Parameterized Circuits (3 files) 14. `test_parameterized_rotation_gates.py` - Test parameterized rotation gates 15. `test_bind_parameters.py` - Test parameter binding functionality 16. `test_execute_circuit_parameterized.py` - Test parameterized circuit execution #### Error Handling (2 files) 17. `test_error_handling_circuit_not_initialized.py` - Test error handling for uninitialized circuits 18. `test_error_handling_invalid_qubit_index.py` - Test error handling for invalid qubit indices #### Edge Cases and Other Features (5 files) 19. `test_execute_circuit_edge_cases.py` - Test edge cases for circuit execution 20. `test_create_circuit_edge_cases.py` - Test edge cases for circuit creation 21. `test_draw_circuit.py` - Test circuit drawing functionality 22. `test_calculate_prob_zero.py` - Test probability calculation functionality 23. `test_backend_consistency_gates.py` - Test consistency across all backends I'm ready to start working on this issue. Please let me know if you have any feedback or suggestions. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
