@@ -3,7 +3,6 @@ package zio.sql.mysql
3
3
import zio .Chunk
4
4
import zio .schema ._
5
5
import zio .sql .Jdbc
6
- import zio .sql .expr .Expr .literal
7
6
import zio .sql .table ._
8
7
import zio .test .Assertion ._
9
8
import zio .test ._
@@ -124,7 +123,21 @@ object CustomFunctionDefSpec extends MysqlRunnableSpec with Jdbc {
124
123
assertZIO(testResult.runHead.some)(equalTo(expected))
125
124
},
126
125
test(" sounds like" ) {
127
- val query = select(literal(" Robert" ).soundsLike(" Rupert" ))
126
+ val query = select(" Robert" .soundsLike(" Rupert" ))
127
+
128
+ val testResult = execute(query)
129
+
130
+ assertZIO(testResult.runHead.some)(equalTo(true ))
131
+ },
132
+ test(" sounds like don't match" ) {
133
+ val query = select(" Grisha" .soundsLike(" Berezin" ))
134
+
135
+ val testResult = execute(query)
136
+
137
+ assertZIO(testResult.runHead.some)(equalTo(false ))
138
+ },
139
+ test(" sounds like don't match inverse" ) {
140
+ val query = select(" Grisha" .soundsLike(" Berezin" ).isNotTrue)
128
141
129
142
val testResult = execute(query)
130
143
@@ -139,6 +152,21 @@ object CustomFunctionDefSpec extends MysqlRunnableSpec with Jdbc {
139
152
result == Chunk (UUID .fromString(" d4f6c156-20ac-4d27-8ced-535bf4315ebc" ))
140
153
)
141
154
},
155
+ test(" sounds like on column inverse" ) {
156
+ val query = select(customerId).from(customers).where(fName.soundsLike(lName).isNotTrue)
157
+
158
+ for {
159
+ result <- execute(query).runCollect
160
+ } yield assertTrue(
161
+ result == Chunk (
162
+ UUID .fromString(" 60b01fc9-c902-4468-8d49-3c0f989def37" ),
163
+ UUID .fromString(" f76c9ace-be07-4bf3-bd4c-4a9c62882e64" ),
164
+ UUID .fromString(" 784426a5-b90a-4759-afbb-571b7a0ba35e" ),
165
+ UUID .fromString(" df8215a2-d5fd-4c6c-9984-801a1b3a2a0b" ),
166
+ UUID .fromString(" 636ae137-5b1a-4c8c-b11f-c47c624d9cdc" )
167
+ )
168
+ )
169
+ },
142
170
test(" current_date" ) {
143
171
val query = select(CurrentDate )
144
172
0 commit comments