package Ġcom . example . de mode mo Ċ Ċ import Ġcom . example . bean . HT U Data Bean Ċ import Ġcom . example . model . static Model . Category Ċ import Ġcom . example . repository . Category Repository Ċ import Ġcom . example . service . HT U DataService Repository Ċ import Ġorg . hamcrest . beans . Same Property Values As Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Before Ċ import Ġorg . hamcrest . Core Matchers .` is ` Ġas Ġbe Ċ import Ġorg . junit . Fix Method Order Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Method Sort ers Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . test . context . junit 4 . Spring JUnit 4 Class Runner Ċ Ċ // Ġ@ RunWith ( Spring Runner :: class ) Ċ @ RunWith ( Spring JUnit 4 Class Runner :: class ) Ċ @ SpringBootTest Ċ @ Fix Method Order ( Method Sort ers . NAME _ ASC ENDING ) Ċ class ĠHT U DataService Test { ĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġval ĠHT U DataService Repository Ġ: ĠHT U DataService Repository ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġval ĠCategory Repository Ġ: ĠCategory Repository ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġtest Name Ġ= Ġ" test user " ĊĠĠĠ Ġval Ġtest Age Ġ= Ġ" 2 0 " ĊĠĠĠ Ġval Ġtest Message Ġ= Ġ" test user ãģ¯ é£Ł ãģ¹ ãģªãģĦ ãĤĪ " ĊĠĠĠ Ġval Ġtest Men Ġ= Ġ" men " ĊĠĠĠ Ġval Ġtest W omen Ġ= Ġ" w omen " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĢĲ Before ãĢĳ ------------------------------------------------------------------------- ĊĠĠĠĠ Ġ* Ġ åħ± éĢļ éłħ çĽ® ãģ® SetUp ãĤĴè¡Į ãģĦ ãģ¾ãģĻ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp (){ ĊĠĠĠĠĠĠĠ Ġ// ĠãĤ « ãĥĨ ãĤ ´ ãĥª ãĥ¼ ä½ľæĪĲ ĊĠĠĠĠĠĠĠ ĠCategory Repository ?. save ( Category ( 0 , Ġtest Men )) ĊĠĠĠĠĠĠĠ ĠCategory Repository ?. save ( Category ( 0 , Ġtest W omen )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠHT U Data ä½ľæĪĲ ĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġcreate H tu ( HT U Data Bean ( 1 , test Name , Ġtest Age , Ġtest Message , ĠCategory ( 2 , Ġtest W omen ))) Ġ} ĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġcreate H tu ( HT U Data Bean ( 2 , test Name , Ġtest Age , Ġtest Message , ĠCategory ( 1 , Ġtest Men ))) Ġ} ĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġcreate H tu ( HT U Data Bean ( 3 , test Name , Ġtest Age , Ġtest Message , ĠCategory ( 2 , Ġtest W omen ))) Ġ} ĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġcreate H tu ( HT U Data Bean ( 4 , test Name , Ġtest Age , Ġtest Message , ĠCategory ( 1 , Ġtest Men ))) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĢĲ Crud ãĢĳ ------------------------------------------------------------------------- ĊĠĠĠĠ Ġ* ĠCreate ãģ® ãĥĨãĤ¹ãĥĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠTest 1 Create () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠHT U Data Bean Ġ= ĠHT U Data Bean ( 1 , Ġtest Name , Ġtest Age , Ġtest Message , ĠCategory ( 2 , Ġtest W omen )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run Ġ{ findById ( HT U Data Bean ( 1 ))} ĊĠĠĠĠĠĠĠ Ġexpected . id Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġactual ?. forEach Ġ{ Ġac Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . id , Ġbe (( Same Property Values As . same Property Values As ( expected . id )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . name , Ġbe (( Same Property Values As . same Property Values As ( expected . name )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . age , Ġbe (( Same Property Values As . same Property Values As ( expected . age )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . message , Ġbe (( Same Property Values As . same Property Values As ( expected . message )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . category , Ġbe (( Same Property Values As . same Property Values As ( expected . category )))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĢĲ c R ud ãĢĳ ------------------------------------------------------------------------- ĊĠĠĠĠ Ġ* Ġ Ġid ãģ«ãĤĪ ãĤĭ Read ãģ® ãĥĨãĤ¹ãĥĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 2 _ 0 Check ro perty () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠHT U Data Bean Ġ= ĠHT U Data Bean ( 1 , Ġtest Name , Ġtest Age , Ġtest Message , ĠCategory ( 1 , Ġtest Men )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind ById ( HT U Data Bean ( 2 )) Ġ} ĊĠĠĠĠĠĠĠ Ġactual ?. forEach Ġ{ ac Ġ-> println ( ac . category ?. code Name )} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġactual ?. forEach Ġ{ Ġac Ġ-> ĠassertThat ( ac . category , Ġbe (( Same Property Values As . same Property Values As ( expected . category )))) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 2 _ 1 Find All () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĊĠĠĠĠĠĠĠ Ġ// ---------------- ------------- Ġ Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run { ĠfindAll () Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ ĠassertThat ( actual ?. run Ġ{ Ġsize Ġ}, Ġbe ( 4 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 2 _ 2 Find Many () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠHT U Data Bean Ġ= ĠHT U Data Bean ( 1 , Ġtest Name , Ġtest Age , Ġtest Message , ĠCategory ( 2 , Ġtest W omen )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval ĠHT U Data Bean 1 Ġ= ĠHT U Data Bean ( 1 , Ġtest Name , Ġtest Age , Ġtest Message , ĠCategory ( 2 , Ġtest W omen )) ĊĠĠĠĠĠĠĠ Ġval ĠHT U Data Bean 2 Ġ= ĠHT U Data Bean ( 0 , Ġtest Name )?. also Ġ{ Ġit . category Ġ= Category ( 1 , Ġtest Men ) Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠHT U Data Bean 3 Ġ= ĠHT U Data Bean ( 0 , Ġtest Name , Ġtest Message )?. apply Ġ{ Ġcategory Ġ= ĠCategory ( 2 , Ġtest W omen ) Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠHT U Data Bean 4 Ġ= ĠHT U Data Bean ( 0 , Ġtest Name , Ġtest Message )?. apply Ġ{ Ġcategory Ġ= ĠCategory ( 1 , Ġtest Men ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual 1 Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind Many ( HT U Data Bean 1 ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual 2 Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind Many ( HT U Data Bean 2 ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual 3 Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind Many ( HT U Data Bean 3 ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual 4 Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind Many ( HT U Data Bean 4 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġactual 1 ?. forEach Ġ{ Ġac Ġ-> ĠassertThat ( ac . category , Ġbe (( Same Property Values As . same Property Values As ( expected . category )))) Ġ} ĊĠĠĠĠĠĠĠ Ġ// actual 2 ?. forEach Ġ{ Ġac Ġ-> ĠassertThat ( ac , Ġbe (( Same Property Values As . same Property Values As ( expected )))) Ġ} ĊĠĠĠĠĠĠĠ Ġ// actual 3 ?. forEach Ġ{ Ġac Ġ-> ĠassertThat ( ac , Ġbe (( Same Property Values As . same Property Values As ( expected )))) Ġ} ĊĠĠĠĠĠĠĠ Ġ// actual 4 ?. forEach Ġ{ Ġac Ġ-> ĠassertThat ( ac , Ġbe (( Same Property Values As . same Property Values As ( expected )))) Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 2 _ 3 Find by Name () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĊĠĠĠĠĠĠĠ Ġ// ---------------- ------------- Ġ Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run { Ġfind ByName ( HT U Data Bean ( name Ġ= Ġtest Name )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ ĠassertThat ( actual ?. run Ġ{ Ġsize Ġ}, Ġbe ( 4 )) ĊĠĠĠĠĠĠĠ Ġactual ?. run Ġ{ ĠforEach Ġ{ Ġe Ġ-> Ġprintln (" _____ ãĥĨãĤ¹ãĥĪ çµĲæŀľ _____ Ġ$ e ") Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 2 _ 4 Find by Name List () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĊĠĠĠĠĠĠĠ Ġ// ---------------- ------------- Ġ Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run { Ġfind ByName List ( HT U Data Bean ( name Ġ= Ġtest Name )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ ĠassertThat ( actual ?. run Ġ{ Ġsize Ġ}, Ġbe ( 4 )) ĊĠĠĠĠĠĠĠ Ġactual ?. run Ġ{ ĠforEach Ġ{ ĠHT U Data Bean Ġ-> Ġprintln (" _____ ãĥĨãĤ¹ãĥĪ çµĲæŀľ _____ Ġ$ HT U Data Bean ") Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĢĲ cr Ud ãĢĳ ------------------------------------------------------------------------- ĊĠĠĠĠ Ġ* ĠUpdate ãģ® ãĥĨãĤ¹ãĥĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 3 Update () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind ById ( HT U Data Bean ( 1 )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġname Update Ġ= Ġ" user test " ĊĠĠĠĠĠĠĠ Ġval Ġage Update Ġ= Ġ" 3 0 " ĊĠĠĠĠĠĠĠ Ġval Ġmessage Update Ġ= Ġ" user test ãģ« update ãģĹãģŁ ãĤĪ " ĊĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= ĠCategory Repository ?. run { Ġfind One ( 1 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġtarget ?. forEach Ġ{ ĠHT U Data Bean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHT U Data Bean . name Ġ= Ġname Update ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHT U Data Bean . age Ġ= Ġage Update ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHT U Data Bean . message Ġ= Ġmessage Update ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHT U Data Bean . category Ġ= Ġcategory ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġupdate ( target ?. get ( 0 ) Ġas ĠHT U Data Bean ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- Ġexecute Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠHT U Data Bean ( 1 , Ġname Update , Ġage Update , Ġmessage Update , Ġcategory ) ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠHT U DataService Repository ?. run Ġ{ Ġfind ById ( HT U Data Bean ( 1 )) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġactual ?. forEach Ġ{ Ġac Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . id , Ġbe (( Same Property Values As . same Property Values As ( expected . id )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . name , Ġbe (( Same Property Values As . same Property Values As ( expected . name )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . age , Ġbe (( Same Property Values As . same Property Values As ( expected . age )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . message , Ġbe (( Same Property Values As . same Property Values As ( expected . message )))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac . category , Ġbe (( Same Property Values As . same Property Values As ( expected . category )))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĢĲ cr uD ãĢĳ ------------------------------------------------------------------------- ĊĠĠĠĠ Ġ* ĠDelete ãģ® ãĥĨãĤ¹ãĥĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun ĠTest 4 Delete () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠSet ĠUp Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠCategory Repository ?. run { Ġfind One ( 1 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- Ġexecute Ġ---------------------------- ĊĠĠĠĠĠĠĠ ĠHT U DataService Repository ?. run Ġ{ Ġdelete ( HT U Data Bean ( 1 )) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual HT U Date Ġ= ĠHT U DataService Repository ?. run Ġ{ ĠfindAll () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual Category Ġ= ĠCategory Repository ?. run Ġ{ Ġfind One ( 1 ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ---------------- ------------- ĠVerify Ġ---------------- ------------- ĊĠĠĠĠĠĠĠ ĠassertThat ( actual HT U Date ?. run Ġ{ Ġsize Ġ}, Ġbe ( 3 )) ĊĠĠĠĠĠĠĠ ĠassertThat ( Ġactual Category , Ġbe (( Same Property Values As . same Property Values As ( expected )))) ĊĊĠĠĠ Ġ} Ċ } ĊĊĊ