package Ġnet . em dal . tank čĊč Ċ import Ġorg . junit . jupiter . api . Test čĊč Ċ class ĠMerge Query Test Ġ{ čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` merge Ġnode Ġwith Ġstring Ġproperty `() Ġ{ čĊĠĠĠ Ġval Ġquery Ġ= ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode (" recipes ", ĠRecipe ) čĊĠĠĠĠĠĠĠ Ġ. relationship ( Made From ) čĊĠĠĠĠĠĠĠ Ġ. node ( Ingredient ) Ġ{ Ġname Ġeq Ġ" f lour " Ġ} čĊĠĠĠ Ġ}. cy pher čĊčĊĠĠĠ Ġquery ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ( recipes : Recipe )- [: MA DE _ FROM ]-> (: Ingredient Ġ{ Ġname : Ġ" f lour " Ġ}) čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` mult iline Ġmerge Ġquery Ġlooks Ġs ane `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode (" a ", ĠRecipe ) čĊĠĠĠĠĠĠĠ Ġ. relationship ( Made From ) čĊĠĠĠĠĠĠĠ Ġ. node ( Ingredient ) Ġ{ Ġname Ġeq Ġ" s ugar " Ġ} čĊĠĠĠ Ġ}. merge Ġ{ čĊĠĠĠĠĠ Ġnode (" a ") čĊĠĠĠĠĠĠĠ Ġ. relationship ( Made From ) čĊĠĠĠĠĠĠĠ Ġ. node ( Ingredient ) Ġ{ Ġname Ġeq Ġ" f lour " Ġ} čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ( a : Recipe )- [: MA DE _ FROM ]-> (: Ingredient Ġ{ Ġname : Ġ" s ugar " Ġ}) čĊĠĠĠĠĠ ĠMER GE Ġ( a )- [: MA DE _ FROM ]-> (: Ingredient Ġ{ Ġname : Ġ" f lour " Ġ}) čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊč ĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġnode Ġlabels `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode (" a ", ĠRecipe , ĠIng redient ) čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ( a : Recipe : Ingredient ) čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġnode Ġlabels Ġwith Ġone Ġlabel Ġproperties Ġset `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode (" a ", ĠRecipe , ĠIng redient ) Ġ{ čĊĠĠĠĠĠĠĠ ĠRecipe . name Ġeq Ġ" cake " čĊĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ( a : Recipe : Ingredient Ġ{ Ġname : Ġ" cake " Ġ}) čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġnode Ġlabels Ġwith Ġboth Ġlabel Ġproperties Ġset `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode (" a ", ĠRecipe , ĠIng redient ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ( Recipe . name Ġeq Ġ" cake ") Ġand Ġ( Ingredient . t aste Ġeq Ġ" sweet ") čĊĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ( a : Recipe : Ingredient Ġ{ Ġname : Ġ" cake ", Ġt aste : Ġ" sweet " Ġ}) čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġrelationship Ġtypes Ġwith Ġno Ġalias `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode () čĊĠĠĠĠĠĠĠ Ġ. relationship ( Made From , ĠIs Main Ingredient ) čĊĠĠĠĠĠĠĠ Ġ. node () čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ() - [: MA DE _ FROM | IS _ MAIN _ ING RE DI ENT ]-> () čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġrelationship Ġtypes `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode () čĊĠĠĠĠĠĠĠ Ġ. relationship (" a ", ĠMade From , ĠIs Main Ingredient ) čĊĠĠĠĠĠĠĠ Ġ. node () čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ() -[ a : MA DE _ FROM | IS _ MAIN _ ING RE DI ENT ]-> () čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} čĊčĊĠ Ġ@ Test čĊĠ Ġfun Ġ` multiple Ġrelationship Ġtypes Ġwith Ġproperties Ġset Ġfor Ġboth Ġtypes `() Ġ{ čĊĠĠĠ ĠQuery (). merge Ġ{ čĊĠĠĠĠĠ Ġnode () čĊĠĠĠĠĠĠĠ Ġ. relationship (" a ", ĠMade From , ĠIs Main Ingredient ) Ġ{ čĊĠĠĠĠĠĠĠĠĠ Ġ( Made From . grams Ġeq Ġ 1 0 0 ) Ġand Ġ( Is Main Ingredient . reason Ġeq Ġ" t ast es Ġgood ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ. node () čĊĠĠĠ Ġ}. cy pher ĠshouldBe Ġ""" čĊĠĠĠĠĠ ĠMER GE Ġ() -[ a : MA DE _ FROM | IS _ MAIN _ ING RE DI ENT Ġ{ Ġgr ams : Ġ 1 0 0 , Ġreason : Ġ" t ast es Ġgood " Ġ} ]-> () čĊĠĠĠ Ġ""" . trim Indent () čĊĠ Ġ} č Ċ } čĊ