def test_bad_term(self):
     with self.assertRaises(ValueError):
         majorana_op = majorana_operator((2, 2))
     with self.assertRaises(ValueError):
         majorana_op = majorana_operator('a')
     with self.assertRaises(ValueError):
         majorana_op = majorana_operator(2)
    def test_init(self):
        # Test 'c' operator
        op1 = majorana_operator((2, 0))
        op2 = majorana_operator('c2')
        correct = FermionOperator('2^') + FermionOperator('2')
        self.assertTrue(op1 == op2)
        self.assertTrue(op1 == correct)

        # Test 'd' operator
        op1 = majorana_operator((3, 1))
        op2 = majorana_operator('d3')
        correct = FermionOperator('3^', 1.j) - FermionOperator('3', 1.j)
        self.assertTrue(op1 == op2)
        self.assertTrue(op1 == correct)
 def test_bad_coefficient(self):
     with self.assertRaises(ValueError):
         majorana_op = majorana_operator((1, 1), 'a')
 def test_none_term(self):
     majorana_op = majorana_operator()
     self.assertTrue(majorana_operator() == FermionOperator())
 def test_none_term(self):
     majorana_op = majorana_operator()
     self.assertEqual(majorana_operator(), FermionOperator())