aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/c/consider/consider_using_get.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/c/consider/consider_using_get.py')
-rw-r--r--tests/functional/c/consider/consider_using_get.py90
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/functional/c/consider/consider_using_get.py b/tests/functional/c/consider/consider_using_get.py
new file mode 100644
index 000000000..0b71431d0
--- /dev/null
+++ b/tests/functional/c/consider/consider_using_get.py
@@ -0,0 +1,90 @@
+# pylint: disable=missing-docstring,invalid-name,using-constant-test,invalid-sequence-index,undefined-variable
+dictionary = {}
+key = 'key'
+
+if 'key' in dictionary: # [consider-using-get]
+ variable = dictionary['key']
+
+if 'key' in dictionary: # [consider-using-get]
+ variable = dictionary['key']
+else:
+ variable = 'default'
+
+if key in dictionary: # [consider-using-get]
+ variable = dictionary[key]
+
+if 'key' in dictionary: # not accessing the dictionary in assignment
+ variable = "string"
+
+if 'key' in dictionary: # is a match, but not obvious and we ignore it for now
+ variable = dictionary[key]
+
+if 'key1' in dictionary: # dictionary querried for wrong key
+ variable = dictionary['key2']
+
+if 'key' in dictionary: # body is not pure
+ variable = dictionary['key']
+ print('found')
+
+if 'key' in dictionary: # body is not pure
+ variable = dictionary['key']
+ print('found')
+else:
+ variable = 'default'
+
+if 'key' in dictionary1: # different dictionaries
+ variable = dictionary2['key']
+else:
+ variable = 'default'
+
+if 'key' in dictionary: # body is not pure
+ variable = dictionary['key']
+else:
+ variable = 'default'
+ print('found')
+
+if 'key' in dictionary: # different variables
+ variable1 = dictionary['key']
+else:
+ variable2 = 'default'
+
+if 'key' in dictionary: # assignment is not simple
+ variable1 = variable2 = dictionary['key']
+
+if 'key' in dictionary: # assignment is not simple
+ variable1 = dictionary['key']
+else:
+ variable1 = variable2 = "default"
+
+if 'word' in 'text':
+ variable = 'text'['word'] # already bogus, but to assert that this only works with dictionaries
+
+if 'word' in dictionary:
+ variable = 'dictionary'['word']
+
+if 'key1' in dictionary: # not the simple case
+ variable = dictionary['key1']
+elif 'key2' in dictionary: # [consider-using-get]
+ variable = dictionary['key2']
+else:
+ variable = 'default'
+
+if 'key' in dictionary and bool(key): # not a simple compare
+ variable = dictionary['key1']
+else:
+ variable = 'default'
+
+if bool(key) and 'key' in dictionary: # not a simple compare
+ variable = dictionary['key1']
+else:
+ variable = 'default'
+
+
+d1 = {'foo': None}
+d2 = {}
+# Cannot be represented as using .get()
+if 'foo' in d1:
+ d2['bar'] = d1['foo']
+
+if 'key' in dictionary:
+ variable = dictionary[1:]