UseAssertInRule
Discourages use of assertTrue(x in y)
and assertFalse(x in y)
as it is deprecated (https://docs.python.org/3.8/library/unittest.html#deprecated-aliases).
Use assertIn(x, y)
and assertNotIn(x, y)
) instead.
Message
Use assertIn/assertNotIn instead of assertTrue/assertFalse for inclusion check. See https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertIn)
Has Autofix: Yes
VALID Code Examples
# 1:
self.assertIn(a, b)
# 2:
self.assertIn(f(), b)
# 3:
self.assertIn(f(x), b)
# 4:
self.assertIn(f(g(x)), b)
# 5:
self.assertNotIn(a, b)
# 6:
self.assertNotIn(f(), b)
# 7:
self.assertNotIn(f(x), b)
# 8:
self.assertNotIn(f(g(x)), b)
INVALID Code Examples
# 1:
self.assertTrue(a in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(a in b)
+self.assertIn(a, b)
# 2:
self.assertTrue(f() in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(f() in b)
+self.assertIn(f(), b)
# 3:
self.assertTrue(f(x) in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(f(x) in b)
+self.assertIn(f(x), b)
# 4:
self.assertTrue(f(g(x)) in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(f(g(x)) in b)
+self.assertIn(f(g(x)), b)
# 5:
self.assertTrue(a not in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(a not in b)
+self.assertNotIn(a, b)
# 6:
self.assertTrue(not a in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertTrue(not a in b)
+self.assertNotIn(a, b)
# 7:
self.assertFalse(a in b)
Autofix:
---
+++
@@ -1 +1 @@
-self.assertFalse(a in b)
+self.assertNotIn(a, b)