def test_select_rewrite(self): "Test rewrite selection" settings = merge.RefactorSettings.deep() s1 = ast.LiteralSet([ast.Number(1), ast.Number(2), ast.Number(3)]) s2 = ast.LiteralSet([ast.Number(1)]) s3 = ast.LiteralSet([ast.Number(1), ast.Number(2), ast.Number(3), ast.Number(4), ast.Number(5)]) l = ast.Literal('foo') c1 = ast.ContainsOperator(s1, l) c2 = ast.ContainsOperator(s2, l) c3 = ast.ContainsOperator(s3, l) name = merge.node_name(c1, True) select = contains.select_rewrite_expression(settings, name, [c1, c2, c3]) assert select is c1
def test_select_rewrite(self): "Test rewrite selection" settings = merge.RefactorSettings.deep() s1 = ast.LiteralSet([ast.Number(1), ast.Number(2), ast.Number(3)]) s2 = ast.LiteralSet([ast.Number(1)]) s3 = ast.LiteralSet([ast.Number(1), ast.Number(2), ast.Number(3), ast.Number(4), ast.Number(5)]) l = ast.Literal("foo") c1 = ast.ContainsOperator(s1, l) c2 = ast.ContainsOperator(s2, l) c3 = ast.ContainsOperator(s3, l) name = merge.node_name(c1, True) select = contains.select_rewrite_expression(settings, name, [c1, c2, c3]) assert select is c1
def test_select_rewrite_low_density(self): "Test rewrite selection" settings = merge.RefactorSettings.deep() nums = [ast.Number(x) for x in range(100)] s1 = ast.LiteralSet(nums) nums = [ast.Number(x) for x in range(100, 200)] s2 = ast.LiteralSet(nums) l = ast.Literal('foo') c1 = ast.ContainsOperator(s1, l) c2 = ast.ContainsOperator(s2, l) name = merge.node_name(c1, True) select = contains.select_rewrite_expression(settings, name, [c1, c2]) # Density is too low assert select is None
def test_select_rewrite_low_density(self): "Test rewrite selection" settings = merge.RefactorSettings.deep() nums = [ast.Number(x) for x in range(100)] s1 = ast.LiteralSet(nums) nums = [ast.Number(x) for x in range(100, 200)] s2 = ast.LiteralSet(nums) l = ast.Literal("foo") c1 = ast.ContainsOperator(s1, l) c2 = ast.ContainsOperator(s2, l) name = merge.node_name(c1, True) select = contains.select_rewrite_expression(settings, name, [c1, c2]) # Density is too low assert select is None