コード例 #1
0
    def test_newstyle_bit_equality(self):
        """Verify bits instances are equal only to themselves."""
        bit1 = bit.Bit()
        bit2 = bit.Bit()

        self.assertEqual(bit1, bit1)
        self.assertNotEqual(bit1, bit2)
        self.assertNotEqual(bit1, 3.14)
コード例 #2
0
 def test_bit_hash_update_index(self):
     orig_reg = mock.MagicMock()
     orig_reg.size = 4
     test_bit = bit.Bit(orig_reg, 0)
     orig_hash = hash(test_bit)
     test_bit.index = 2
     new_hash = hash(test_bit)
     self.assertNotEqual(orig_hash, new_hash)
コード例 #3
0
 def test_bit_hash_update_reg(self):
     orig_reg = mock.MagicMock()
     orig_reg.size = 3
     new_reg = mock.MagicMock()
     orig_reg.size = 4
     test_bit = bit.Bit(orig_reg, 0)
     orig_hash = hash(test_bit)
     test_bit.register = new_reg
     new_hash = hash(test_bit)
     self.assertNotEqual(orig_hash, new_hash)
コード例 #4
0
 def test_bits_do_not_require_registers(self):
     """Verify we can create a bit outside the context of a register."""
     self.assertIsInstance(bit.Bit(), bit.Bit)
コード例 #5
0
    def test_old_style_bit_equality(self):
        test_reg = mock.MagicMock(size=3, name='foo')
        test_reg.__str__.return_value = "Register(3, 'foo')"

        self.assertEqual(bit.Bit(test_reg, 0), bit.Bit(test_reg, 0))
        self.assertNotEqual(bit.Bit(test_reg, 0), bit.Bit(test_reg, 2))

        reg_copy = mock.MagicMock(size=3, name='foo')
        reg_copy.__str__.return_value = "Register(3, 'foo')"

        self.assertEqual(bit.Bit(test_reg, 0), bit.Bit(reg_copy, 0))
        self.assertNotEqual(bit.Bit(test_reg, 0), bit.Bit(reg_copy, 1))

        reg_larger = mock.MagicMock(size=4, name='foo')
        reg_larger.__str__.return_value = "Register(4, 'foo')"

        self.assertNotEqual(bit.Bit(test_reg, 0), bit.Bit(reg_larger, 0))

        reg_renamed = mock.MagicMock(size=3, name='bar')
        reg_renamed.__str__.return_value = "Register(3, 'bar')"

        self.assertNotEqual(bit.Bit(test_reg, 0), bit.Bit(reg_renamed, 0))

        reg_difftype = mock.MagicMock(size=3, name='bar')
        reg_difftype.__str__.return_value = "QuantumRegister(3, 'bar')"

        self.assertNotEqual(bit.Bit(test_reg, 0), bit.Bit(reg_difftype, 0))
コード例 #6
0
 def test_bit_eq_invalid_type_comparison(self):
     orig_reg = mock.MagicMock()
     orig_reg.size = 3
     test_bit = bit.Bit(orig_reg, 0)
     self.assertNotEqual(test_bit, 3.14)
コード例 #7
0
 def test_init_raise_if_bits_of_incorrect_type(self, reg_type):
     bits = [bit.Bit()]
     with self.assertRaisesRegex(CircuitError, "did not all match register type"):
         _ = reg_type(bits=bits)