diff options
Diffstat (limited to 'test/regress/regress0/strings')
-rw-r--r-- | test/regress/regress0/strings/Makefile.am | 4 | ||||
-rw-r--r-- | test/regress/regress0/strings/repl-rewrites2.smt2 | 14 | ||||
-rw-r--r-- | test/regress/regress0/strings/repl-soundness-sem.smt2 | 12 |
3 files changed, 29 insertions, 1 deletions
diff --git a/test/regress/regress0/strings/Makefile.am b/test/regress/regress0/strings/Makefile.am index 18b07b91d..7f7511e74 100644 --- a/test/regress/regress0/strings/Makefile.am +++ b/test/regress/regress0/strings/Makefile.am @@ -95,7 +95,9 @@ TESTS = \ substr-rewrites.smt2 \ norn-ab.smt2 \ type002.smt2 \ - strip-endpt-sound.smt2 + strip-endpt-sound.smt2 \ + repl-rewrites2.smt2 \ + repl-soundness-sem.smt2 FAILING_TESTS = diff --git a/test/regress/regress0/strings/repl-rewrites2.smt2 b/test/regress/regress0/strings/repl-rewrites2.smt2 new file mode 100644 index 000000000..42699bc8b --- /dev/null +++ b/test/regress/regress0/strings/repl-rewrites2.smt2 @@ -0,0 +1,14 @@ +; COMMAND-LINE: --strings-exp +; EXPECT: unsat +(set-logic ALL) +(set-info :status unsat) +(declare-fun x () String) +(declare-fun y () String) +(assert (or +(not (= (str.replace "" "" "c") "")) +(not (= (str.replace (str.++ "abc" y) "b" x) (str.++ "a" x "c" y))) +(not (= (str.replace "" "abc" "de") "")) +(not (= (str.replace "ab" "ab" "de") "de")) +(not (= (str.replace "ab" "" "de") "ab")) +)) +(check-sat) diff --git a/test/regress/regress0/strings/repl-soundness-sem.smt2 b/test/regress/regress0/strings/repl-soundness-sem.smt2 new file mode 100644 index 000000000..d56d7945f --- /dev/null +++ b/test/regress/regress0/strings/repl-soundness-sem.smt2 @@ -0,0 +1,12 @@ +; COMMAND-LINE: --strings-exp +; EXPECT: sat +(set-logic ALL) +(set-info :status sat) +(declare-fun x () String) +(declare-fun y () String) +(assert (and +(= (str.replace x x "abc") "") +(= (str.replace (str.++ x y) x "abc") (str.++ x y)) +(= (str.replace (str.++ x y) (str.substr x 0 2) "abc") y) +)) +(check-sat) |