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)