/* Ċ Ġ* ĠThis Ġis Ġfree Ġand Ġun enc umber ed Ġsoftware Ġreleased Ġinto Ġthe Ġpublic Ġdomain , Ġfollowing Ġ< https :// un license . org > Ċ Ġ*/ Ċ Ċ package Ġorg . u fo ss . kot ys a . spring . jdbc . mss ql Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . jdbc . core . Jdbc Operations Ċ import Ġorg . u fo ss . kot ys a . test .* Ċ import Ġorg . u fo ss . kot ys a . test . hooks . Test Containers Closeable Resource Ċ Ċ class ĠSpring Jdbc Select MinMax Avg Sum M ss ql Test Ġ: ĠAbstract Spring Jdbc M ss ql Test < MinMax Avg Sum Repository M ss ql Select >() Ġ{ ĊĊĠĠĠ Ġ@ Before All ĊĠĠĠ Ġfun Ġbefore All ( resource : ĠTest Containers Closeable Resource ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġstart Context < MinMax Avg Sum Repository M ss ql Select >( resource ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġrepository : ĠMin Max Avg Sum Repository M ss ql Select Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠgetContext Repository () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Verify Ġselect Customer Min Age Ġreturns Ġ 1 9 `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( repository . select Customer Min Age ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 1 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Verify Ġselect Customer Max Age Ġreturns Ġ 2 1 `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( repository . select Customer Max Age ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 2 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Verify Ġselect Customer Avg Age Ġreturns Ġ 2 0 `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( repository . select Customer Avg Age ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqual By Comp aring To ( 2 0 . to BigDecimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Verify Ġselect Customer Sum Age Ġreturns Ġ 6 0 `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( repository . select Customer Sum Age ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( 6 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠMin Max Avg Sum Repository M ss ql Select ( client : ĠJdbc Operations ) Ġ: ĠAbstract Customer Repository Spring Jdbc M ss ql ( client ) Ġ{ ĊĊĠĠĠ Ġfun Ġselect Customer Min Age () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( sql Client Ġselect Min ĠM SS QL _ CUSTOMER . age ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠM SS QL _ CUSTOMER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch One () ĊĊĠĠĠ Ġfun Ġselect Customer Max Age () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( sql Client Ġselect Max ĠM SS QL _ CUSTOMER . age ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠM SS QL _ CUSTOMER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch One () ĊĊĠĠĠ Ġfun Ġselect Customer Avg Age () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( sql Client Ġselect Avg ĠM SS QL _ CUSTOMER . age ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠM SS QL _ CUSTOMER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch One () ĊĊĠĠĠ Ġfun Ġselect Customer Sum Age () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( sql Client Ġselect Sum ĠM SS QL _ CUSTOMER . age ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠM SS QL _ CUSTOMER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch One () Ċ } Ċ