@@ -10,31 +10,64 @@ abstract class PrimitiveArrayTest extends SchemaTester with RunTestsInsideTransa
1010
1111 import PrimitiveArraySchema ._
1212
13- test(" can insert and query integer array values in database" ) {
13+ test(" can insert and query integer, double, and long array values in database" ) {
1414 transaction {
1515 schema.drop
1616 schema.create
17- swimmers.insert(new Swimmer (1 , Array (10.55 , 12.99 , 15.32 ), Array (100 ,110 ,20 ), Array (9876543210L ,123456789L )))
18- }
19-
17+ swimmers.insert(new Swimmer (1 , Array (10.55 , 12.99 , 15.32 ), Array (100 , 110 , 20 ), Array (9876543210L , 123456789L )))
18+ }
19+
2020 val query = from(swimmers)((s) => select(s))
2121 val res = transaction { query.toList }
2222
2323 res.size should equal(1 )
2424 res(0 ).lap_times.size should equal(3 )
2525 res(0 ).lap_times(0 ) should equal(10.55 )
2626 res(0 ).lap_times(1 ) should equal(12.99 )
27- res(0 ).lap_times(2 ) should equal(15.32 )
28-
27+ res(0 ).lap_times(2 ) should equal(15.32 )
28+
2929 res(0 ).scores.size should equal(3 )
3030 res(0 ).scores(0 ) should equal(100 )
3131 res(0 ).scores(1 ) should equal(110 )
32- res(0 ).scores(2 ) should equal(20 )
33-
32+ res(0 ).scores(2 ) should equal(20 )
33+
3434 res(0 ).orgids.size should equal(2 )
3535 res(0 ).orgids(0 ) should equal(9876543210L )
3636 res(0 ).orgids(1 ) should equal(123456789L )
3737 }
38+ test(" can update integer, double, and long array values in database" ) {
39+ transaction {
40+ schema.drop
41+ schema.create
42+ swimmers.insert(new Swimmer (1 , Array (10.55 , 12.99 , 15.32 ), Array (100 , 110 , 20 ), Array (9876543210L , 123456789L )))
43+ }
44+
45+ val query = from(swimmers)((s) => select(s))
46+ val res = transaction { query.toList }
47+
48+ res.size should equal(1 )
49+ res(0 ).lap_times.size should equal(3 )
50+ res(0 ).scores.size should equal(3 )
51+ res(0 ).orgids.size should equal(2 )
52+
53+ transaction {
54+ update(swimmers)(s =>
55+ where(s.id === 1 )
56+ set (s.lap_times := Array (11.69 ), s.scores := Array (1 , 2 , 3 , 4 , 5 ), s.orgids := Array (13L )))
57+ }
58+
59+ val query2 = from(swimmers)((s) => select(s))
60+ val res2 = transaction { query.toList }
61+
62+ res2.size should equal(1 )
63+ res2(0 ).lap_times.size should equal(1 )
64+ res2(0 ).scores.size should equal(5 )
65+ res2(0 ).orgids.size should equal(1 )
66+
67+ res2(0 ).lap_times(0 ) should equal(11.69 )
68+ res2(0 ).scores(2 ) should equal(3 )
69+ res2(0 ).orgids(0 ) should equal(13L )
70+ }
3871}
3972
4073import _root_ .org .squeryl .Schema
@@ -47,4 +80,4 @@ object PrimitiveArraySchema extends Schema {
4780 override def drop = super .drop
4881}
4982
50- class Swimmer (val id : Int , val lap_times : Array [Double ], val scores : Array [Int ], val orgids : Array [Long ])
83+ class Swimmer (val id : Int , val lap_times : Array [Double ], val scores : Array [Int ], val orgids : Array [Long ])
0 commit comments