Skip to content

Commit

Permalink
Add tests for str.find(), Update refs
Browse files Browse the repository at this point in the history
  • Loading branch information
AbdelrahmanKhaledd committed Sep 1, 2022
1 parent 6966075 commit bff8d77
Show file tree
Hide file tree
Showing 49 changed files with 69 additions and 48 deletions.
21 changes: 21 additions & 0 deletions integration_tests/test_str_attributes.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,26 @@ def strip():
assert " AASAsaSas " .lstrip() == "AASAsaSas "
assert " AASAsaSas " .strip() == "AASAsaSas"

def find():
s: str
sub: str
s = "AaaaAABBbbbbBB!@12223BN"
sub = "@"
assert s.find(sub) == 15
assert s.find('B') == 6
assert "empty strings" .find("string") == 6
s2: str
s2 = "Well copying a string from a website makes us prone to copyright claims. Can you just write something of your own? Like just take this review comment and put it as a string?"
assert s2.find("of") == 102
assert s2.find("own") == 110
assert s2.find("this") == 130
assert s2.find("") == 0
assert "".find("dd") == -1
assert "".find("") == 0
s2 = ""
assert s2.find("") == 0
assert s2.find("we") == -1

def startswith():
s: str
s = " empty"
Expand All @@ -45,4 +65,5 @@ def startswith():
capitalize()
lower()
strip()
find()
startswith()
2 changes: 1 addition & 1 deletion tests/reference/asr-complex1-f26c460.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"outfile": null,
"outfile_hash": null,
"stdout": "asr-complex1-f26c460.stdout",
"stdout_hash": "533e7e69cb0732f89d58e6ee1d45d246cda1466bad59e039353ec7d3",
"stdout_hash": "ec30511e10451c64a896595e1470c429df7ec2bb31dd60b299a15d2b",
"stderr": null,
"stderr_hash": null,
"returncode": 0
Expand Down
2 changes: 1 addition & 1 deletion tests/reference/asr-complex1-f26c460.stdout
Original file line number Diff line number Diff line change
@@ -1 +1 @@
(TranslationUnit (SymbolTable 1 {complex@__lpython_overloaded_0__complex: (ExternalSymbol 1 complex@__lpython_overloaded_0__complex 5 __lpython_overloaded_0__complex lpython_builtin [] __lpython_overloaded_0__complex Public), complex@__lpython_overloaded_13__complex: (ExternalSymbol 1 complex@__lpython_overloaded_13__complex 5 __lpython_overloaded_13__complex lpython_builtin [] __lpython_overloaded_13__complex Public), complex@__lpython_overloaded_1__complex: (ExternalSymbol 1 complex@__lpython_overloaded_1__complex 5 __lpython_overloaded_1__complex lpython_builtin [] __lpython_overloaded_1__complex Public), complex@__lpython_overloaded_2__complex: (ExternalSymbol 1 complex@__lpython_overloaded_2__complex 5 __lpython_overloaded_2__complex lpython_builtin [] __lpython_overloaded_2__complex Public), complex@__lpython_overloaded_5__complex: (ExternalSymbol 1 complex@__lpython_overloaded_5__complex 5 __lpython_overloaded_5__complex lpython_builtin [] __lpython_overloaded_5__complex Public), complex@__lpython_overloaded_9__complex: (ExternalSymbol 1 complex@__lpython_overloaded_9__complex 5 __lpython_overloaded_9__complex lpython_builtin [] __lpython_overloaded_9__complex Public), lpython_builtin: (IntrinsicModule lpython_builtin), main_program: (Program (SymbolTable 90 {}) main_program [] []), test: (Function (SymbolTable 3 {x: (Variable 3 x Local () () Default (Complex 8 []) Source Public Required .false.), y: (Variable 3 y Local () () Default (Complex 8 []) Source Public Required .false.), z: (Variable 3 z Local () () Default (Complex 4 []) Source Public Required .false.)}) test [] [] [(= (Var 3 x) (ComplexBinOp (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 2.000000 0.000000 (Complex 8 []))) Add (ComplexConstant 0.000000 3.000000 (Complex 8 [])) (Complex 8 []) (ComplexConstant 2.000000 3.000000 (Complex 8 []))) ()) (= (Var 3 y) (ComplexBinOp (Cast (IntegerConstant 5 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 5.000000 0.000000 (Complex 8 []))) Add (ComplexConstant 0.000000 5.000000 (Complex 8 [])) (Complex 8 []) (ComplexConstant 5.000000 5.000000 (Complex 8 []))) ()) (= (Var 3 z) (Cast (ComplexBinOp (Var 3 x) Add (Var 3 y) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ()) (= (Var 3 z) (Cast (ComplexBinOp (Var 3 x) Sub (Var 3 y) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ()) (= (Var 3 z) (Cast (ComplexBinOp (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 2.000000 0.000000 (Complex 8 []))) Mul (Var 3 x) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ())] () Source Public Implementation () .false. .false. .false. .false.), test_complex: (Function (SymbolTable 2 {b: (Variable 2 b Local () () Default (Logical 4 []) Source Public Required .false.), c: (Variable 2 c Local () () Default (Complex 4 []) Source Public Required .false.), c1: (Variable 2 c1 Local () () Default (Complex 4 []) Source Public Required .false.), c2: (Variable 2 c2 Local () () Default (Complex 4 []) Source Public Required .false.), c3: (Variable 2 c3 Local () () Default (Complex 8 []) Source Public Required .false.), complex: (ExternalSymbol 2 complex 5 complex lpython_builtin [] complex Private)}) test_complex [] [] [(= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_0__complex 2 complex [] (Complex 8 []) (ComplexConstant 0.000000 0.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 0.000000 0.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_1__complex 2 complex [((RealConstant 3.400000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.400000 0.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 3.400000 0.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 5.000000 (Real 8 []))) ((RealConstant 4.300000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 5.000000 4.300000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 5.000000 4.300000 (Complex 4 []))) ()) (= (Var 2 c) (FunctionCall 1 complex@__lpython_overloaded_2__complex 2 complex [((IntegerConstant 1 (Integer 4 [])))] (Complex 4 []) (ComplexConstant 1.000000 0.000000 (Complex 8 [])) ()) ()) (= (Var 2 c1) (Cast (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 3.000000 4.000000 (Complex 4 []))) ()) (= (Var 2 c2) (Cast (FunctionCall 1 complex@__lpython_overloaded_13__complex 2 complex [((IntegerConstant 2 (Integer 4 []))) ((RealConstant 4.500000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 2.000000 4.500000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 2.000000 4.500000 (Complex 4 []))) ()) (= (Var 2 c3) (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 3.000000 (Real 8 []))) ((RealConstant 4.000000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) ()) (= (Var 2 b) (ComplexCompare (Var 2 c1) NotEq (Var 2 c2) (Logical 4 []) ()) ()) (= (Var 2 b) (ComplexCompare (Cast (Var 2 c1) ComplexToComplex (Complex 8 []) ()) Eq (Var 2 c3) (Logical 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c1) Add (Var 2 c2) (Complex 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c2) Sub (Var 2 c1) (Complex 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c1) Mul (Var 2 c2) (Complex 4 []) ()) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 1 (Integer 4 []))) ((IntegerConstant 2 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 1.000000 2.000000 (Complex 8 [])) ()) Pow (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 3.345340 (Real 8 []))) ((RealConstant 4.867868 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.345340 4.867868 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant 0.015553 0.065561 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant 0.015553 0.065561 (Complex 4 []))) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 1 (Integer 4 []))) ((IntegerConstant 2 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 1.000000 2.000000 (Complex 8 [])) ()) Mul (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant -5.000000 10.000000 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant -5.000000 10.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 4 (Integer 4 []))) ((IntegerConstant 5 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 4.000000 5.000000 (Complex 8 [])) ()) Sub (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant 1.000000 1.000000 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant 1.000000 1.000000 (Complex 4 []))) ())] () Source Public Implementation () .false. .false. .false. .false.)}) [])
(TranslationUnit (SymbolTable 1 {complex@__lpython_overloaded_0__complex: (ExternalSymbol 1 complex@__lpython_overloaded_0__complex 5 __lpython_overloaded_0__complex lpython_builtin [] __lpython_overloaded_0__complex Public), complex@__lpython_overloaded_13__complex: (ExternalSymbol 1 complex@__lpython_overloaded_13__complex 5 __lpython_overloaded_13__complex lpython_builtin [] __lpython_overloaded_13__complex Public), complex@__lpython_overloaded_1__complex: (ExternalSymbol 1 complex@__lpython_overloaded_1__complex 5 __lpython_overloaded_1__complex lpython_builtin [] __lpython_overloaded_1__complex Public), complex@__lpython_overloaded_2__complex: (ExternalSymbol 1 complex@__lpython_overloaded_2__complex 5 __lpython_overloaded_2__complex lpython_builtin [] __lpython_overloaded_2__complex Public), complex@__lpython_overloaded_5__complex: (ExternalSymbol 1 complex@__lpython_overloaded_5__complex 5 __lpython_overloaded_5__complex lpython_builtin [] __lpython_overloaded_5__complex Public), complex@__lpython_overloaded_9__complex: (ExternalSymbol 1 complex@__lpython_overloaded_9__complex 5 __lpython_overloaded_9__complex lpython_builtin [] __lpython_overloaded_9__complex Public), lpython_builtin: (IntrinsicModule lpython_builtin), main_program: (Program (SymbolTable 92 {}) main_program [] []), test: (Function (SymbolTable 3 {x: (Variable 3 x Local () () Default (Complex 8 []) Source Public Required .false.), y: (Variable 3 y Local () () Default (Complex 8 []) Source Public Required .false.), z: (Variable 3 z Local () () Default (Complex 4 []) Source Public Required .false.)}) test [] [] [(= (Var 3 x) (ComplexBinOp (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 2.000000 0.000000 (Complex 8 []))) Add (ComplexConstant 0.000000 3.000000 (Complex 8 [])) (Complex 8 []) (ComplexConstant 2.000000 3.000000 (Complex 8 []))) ()) (= (Var 3 y) (ComplexBinOp (Cast (IntegerConstant 5 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 5.000000 0.000000 (Complex 8 []))) Add (ComplexConstant 0.000000 5.000000 (Complex 8 [])) (Complex 8 []) (ComplexConstant 5.000000 5.000000 (Complex 8 []))) ()) (= (Var 3 z) (Cast (ComplexBinOp (Var 3 x) Add (Var 3 y) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ()) (= (Var 3 z) (Cast (ComplexBinOp (Var 3 x) Sub (Var 3 y) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ()) (= (Var 3 z) (Cast (ComplexBinOp (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToComplex (Complex 8 []) (ComplexConstant 2.000000 0.000000 (Complex 8 []))) Mul (Var 3 x) (Complex 8 []) ()) ComplexToComplex (Complex 4 []) ()) ())] () Source Public Implementation () .false. .false. .false. .false.), test_complex: (Function (SymbolTable 2 {b: (Variable 2 b Local () () Default (Logical 4 []) Source Public Required .false.), c: (Variable 2 c Local () () Default (Complex 4 []) Source Public Required .false.), c1: (Variable 2 c1 Local () () Default (Complex 4 []) Source Public Required .false.), c2: (Variable 2 c2 Local () () Default (Complex 4 []) Source Public Required .false.), c3: (Variable 2 c3 Local () () Default (Complex 8 []) Source Public Required .false.), complex: (ExternalSymbol 2 complex 5 complex lpython_builtin [] complex Private)}) test_complex [] [] [(= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_0__complex 2 complex [] (Complex 8 []) (ComplexConstant 0.000000 0.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 0.000000 0.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_1__complex 2 complex [((RealConstant 3.400000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.400000 0.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 3.400000 0.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 5.000000 (Real 8 []))) ((RealConstant 4.300000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 5.000000 4.300000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 5.000000 4.300000 (Complex 4 []))) ()) (= (Var 2 c) (FunctionCall 1 complex@__lpython_overloaded_2__complex 2 complex [((IntegerConstant 1 (Integer 4 [])))] (Complex 4 []) (ComplexConstant 1.000000 0.000000 (Complex 8 [])) ()) ()) (= (Var 2 c1) (Cast (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 3.000000 4.000000 (Complex 4 []))) ()) (= (Var 2 c2) (Cast (FunctionCall 1 complex@__lpython_overloaded_13__complex 2 complex [((IntegerConstant 2 (Integer 4 []))) ((RealConstant 4.500000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 2.000000 4.500000 (Complex 8 [])) ()) ComplexToComplex (Complex 4 []) (ComplexConstant 2.000000 4.500000 (Complex 4 []))) ()) (= (Var 2 c3) (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 3.000000 (Real 8 []))) ((RealConstant 4.000000 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) ()) (= (Var 2 b) (ComplexCompare (Var 2 c1) NotEq (Var 2 c2) (Logical 4 []) ()) ()) (= (Var 2 b) (ComplexCompare (Cast (Var 2 c1) ComplexToComplex (Complex 8 []) ()) Eq (Var 2 c3) (Logical 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c1) Add (Var 2 c2) (Complex 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c2) Sub (Var 2 c1) (Complex 4 []) ()) ()) (= (Var 2 c) (ComplexBinOp (Var 2 c1) Mul (Var 2 c2) (Complex 4 []) ()) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 1 (Integer 4 []))) ((IntegerConstant 2 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 1.000000 2.000000 (Complex 8 [])) ()) Pow (FunctionCall 1 complex@__lpython_overloaded_5__complex 2 complex [((RealConstant 3.345340 (Real 8 []))) ((RealConstant 4.867868 (Real 8 [])))] (Complex 8 []) (ComplexConstant 3.345340 4.867868 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant 0.015553 0.065561 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant 0.015553 0.065561 (Complex 4 []))) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 1 (Integer 4 []))) ((IntegerConstant 2 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 1.000000 2.000000 (Complex 8 [])) ()) Mul (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant -5.000000 10.000000 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant -5.000000 10.000000 (Complex 4 []))) ()) (= (Var 2 c) (Cast (ComplexBinOp (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 4 (Integer 4 []))) ((IntegerConstant 5 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 4.000000 5.000000 (Complex 8 [])) ()) Sub (FunctionCall 1 complex@__lpython_overloaded_9__complex 2 complex [((IntegerConstant 3 (Integer 4 []))) ((IntegerConstant 4 (Integer 4 [])))] (Complex 8 []) (ComplexConstant 3.000000 4.000000 (Complex 8 [])) ()) (Complex 8 []) (ComplexConstant 1.000000 1.000000 (Complex 8 []))) ComplexToComplex (Complex 4 []) (ComplexConstant 1.000000 1.000000 (Complex 4 []))) ())] () Source Public Implementation () .false. .false. .false. .false.)}) [])
2 changes: 1 addition & 1 deletion tests/reference/asr-constants1-5828e8a.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"outfile": null,
"outfile_hash": null,
"stdout": "asr-constants1-5828e8a.stdout",
"stdout_hash": "422df432d576c294fbcf976d68d8a8c3eaf4a00c307865d1f7956087",
"stdout_hash": "708fc8fb0cbb1619a54406bbbbe0c9586667000e2d154743e317a4d7",
"stderr": null,
"stderr_hash": null,
"returncode": 0
Expand Down
2 changes: 1 addition & 1 deletion tests/reference/asr-constants1-5828e8a.stdout

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion tests/reference/asr-elemental_01-b58df26.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"outfile": null,
"outfile_hash": null,
"stdout": "asr-elemental_01-b58df26.stdout",
"stdout_hash": "387024982df6acbf18d34bcc33d79db3446c892b229299554555dcea",
"stdout_hash": "90ca8c75d86ea830fb2083b6b5a6813f385c634015b3e890784d6b2e",
"stderr": null,
"stderr_hash": null,
"returncode": 0
Expand Down
2 changes: 1 addition & 1 deletion tests/reference/asr-elemental_01-b58df26.stdout

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion tests/reference/asr-expr10-efcbb1b.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"outfile": null,
"outfile_hash": null,
"stdout": "asr-expr10-efcbb1b.stdout",
"stdout_hash": "7929fc3181ba6b985e65d03480412915e7929207c781758c7baed644",
"stdout_hash": "f28b4dc9b3bd3e8a68b04b902914400990ff498ec6653c4e0f138b8d",
"stderr": null,
"stderr_hash": null,
"returncode": 0
Expand Down
Loading

0 comments on commit bff8d77

Please sign in to comment.