Newer
Older
import logging
import unittest
import numpy as np
class AJobTest(unittest.TestCase):
def test_a_job(self):
"""
Test functionalities of Pauli gates on single qubits
"""
qubit_0 = np.array([1, 0])
qubit_1 = np.array([0, 1])
# ensure input is a single qubit
self.assertTrue(qubit_0.shape[0] == 2)
self.assertTrue(qubit_1.shape[0] == 2)
# test Pauli gate X
self.assertTrue(np.array_equal(np.dot(sigma_x(), qubit_0), qubit_1))
self.assertTrue(np.array_equal(np.dot(sigma_x(), qubit_1), qubit_0))
# test Pauli gate Y
self.assertTrue(np.array_equal(np.dot(sigma_y(), qubit_0), 1j * qubit_1))
self.assertTrue(np.array_equal(np.dot(sigma_y(), qubit_1), -1j * qubit_0))
# test Pauli gate Z
self.assertTrue(np.array_equal(np.dot(sigma_z(), qubit_0), qubit_0))
self.assertTrue(np.array_equal(np.dot(sigma_z(), qubit_1), -qubit_1))
logger.info("Logging for fun!")
if __name__ == '__main__':
unittest.main()