package Ġcom . ml ree f . rest . feature . marketplace Ċ Ċ import Ġcom . ml ree f . rest . api . v 1 . Search Request Ċ import Ġcom . ml ree f . rest . domain . Access Level . DE VELO PER Ċ import Ġcom . ml ree f . rest . domain . Access Level . G UEST Ċ import Ġcom . ml ree f . rest . domain . Access Level . MA INT AIN ER Ċ import Ġcom . ml ree f . rest . domain . Access Level . OWNER Ċ import Ġcom . ml ree f . rest . domain . Code Project Ċ import Ġcom . ml ree f . rest . domain . Data Project Ċ import Ġcom . ml ree f . rest . domain . Project Type . CODE _ PROJECT Ċ import Ġcom . ml ree f . rest . domain . Project Type . DATA _ PROJECT Ċ import Ġcom . ml ree f . rest . domain . Publish Status Ċ import Ġcom . ml ree f . rest . domain . Visibility Scope . PRIVATE Ċ import Ġcom . ml ree f . rest . domain . Visibility Scope . PUBLIC Ċ import Ġcom . ml ree f . rest . domain . marketplace . Search able Tag Ċ import Ġcom . ml ree f . rest . domain . marketplace . Search able Type Ċ import Ġcom . ml ree f . rest . domain . marketplace . Star Ċ import Ġcom . ml ree f . rest . external _ api . gitlab . Token Details Ċ import Ġcom . ml ree f . rest . persistence . Abstract Repository Test Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . data . domain . Page Request Ċ import Ġorg . springframework . data . repository . findById OrNull Ċ import Ġorg . springframework . test . annotation . Rollback Ċ import Ġorg . springframework . transaction . annotation . Transactional Ċ import Ġjava . util . UUID Ċ import Ġjava . util . UUID . randomUUID Ċ Ċ class ĠMarketplace Service Test Ġ: ĠAbstract Repository Test () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġservice : ĠMarketplace Service ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtoken 1 : ĠToken Details ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtoken 2 : ĠToken Details ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project : ĠData Project ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 0 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 1 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 2 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 3 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 4 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 5 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 6 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 7 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 8 : ĠData Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project 9 : ĠData Project ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 0 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 1 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 2 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 3 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 4 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 5 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 6 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 7 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 8 : ĠCode Project ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project 9 : ĠCode Project ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Project List : ĠList < Data Project > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcode Project List : ĠList < Code Project > ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġfun Ġprepare () Ġ{ ĊĠĠĠĠĠĠĠ Ġservice Ġ= ĠMarketplace Service ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Types Repository ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Entry Ġpers ists ĠEntry `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Project Ġ= Ġcreate Data Project ( owner Id Ġ= Ġmain Person . id ) ĊĠĠĠĠĠĠĠ Ġval Ġcreate Entry Ġ= Ġservice . prepare Entry ( data Project , Ġmain Person ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( create Entry ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( create Entry . owner Id ). isNotNull () ĊĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo Ġ= Ġproject Repository . findById OrNull ( create Entry . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo !!. owner Id ). isNotNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` add Tags Ġpers ists ĠEntry Ġand Ġtags Ġcollection `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdata Project Ġ= Ġcreate Data Project ( owner Id Ġ= Ġmain Person . id ) ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġval Ġtag 1 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 2 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 3 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 4 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 4 ") ĊĠĠĠĠĠĠĠ Ġval Ġbunch 1 Ġ= Ġtag Repository . save All ( array ListOf ( tag 1 , Ġtag 2 )). toList () ĊĠĠĠĠĠĠĠ Ġval Ġbunch 2 Ġ= Ġtag Repository . save All ( array ListOf ( tag 3 , Ġtag 4 )). toList () ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġservice . prepare Entry ( data Project , Ġmain Person ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadd Tags Ġ= Ġservice . add Tags ( entry , Ġbunch 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo 1 Ġ= Ġproject Repository . findById OrNull ( add Tags . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 !!. tags ). has Size ( 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). contains ( tag 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). contains ( tag 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). does Not Contain ( tag 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). does Not Contain ( tag 4 ) ĊĊĠĠĠĠĠĠĠ Ġservice . add Tags ( from Repo 1 , Ġbunch 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo 2 Ġ= Ġproject Repository . findById OrNull ( entry . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 !!. tags ). has Size ( 4 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` define Tags Ġpers ists ĠEntry Ġand Ġreset ĠTags `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġdata Project Ġ= Ġcreate Data Project ( owner Id Ġ= Ġmain Person . id ) ĊĠĠĠĠĠĠĠ Ġval Ġtag 1 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 2 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 3 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 4 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 4 ") ĊĠĠĠĠĠĠĠ Ġval Ġbunch 1 Ġ= Ġtag Repository . save All ( array ListOf ( tag 1 , Ġtag 2 )). toList () ĊĠĠĠĠĠĠĠ Ġval Ġbunch 2 Ġ= Ġtag Repository . save All ( array ListOf ( tag 3 , Ġtag 4 )). toList () ĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġservice . prepare Entry ( data Project , Ġmain Person ) ĊĊĠĠĠĠĠĠĠ Ġservice . define Tags ( entry , Ġbunch 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo 1 Ġ= Ġproject Repository . findById OrNull ( entry . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 !!. tags ). has Size ( 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). contains ( tag 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). contains ( tag 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). does Not Contain ( tag 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 1 . tags ). does Not Contain ( tag 4 ) ĊĊĠĠĠĠĠĠĠ Ġservice . define Tags ( entry , Ġbunch 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo 2 Ġ= Ġproject Repository . findById OrNull ( entry . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 !!. tags ). has Size ( 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). does Not Contain ( tag 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). does Not Contain ( tag 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo 2 . tags ). contains ( tag 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` add Star Ġpers ists Ġstars Ġfor ĠEntity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare ĊĠĠĠĠĠĠĠ Ġdata Project Ġ= Ġcreate Data Project ( owner Id Ġ= Ġmain Person . id ) ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġservice . prepare Entry ( data Project , Ġmain Person ) ĊĊĠĠĠĠĠĠĠ Ġval Ġv 1 Ġ= Ġservice . add Star ( entity , Ġmain Person ) ĊĠĠĠĠĠĠĠ Ġservice . add Star ( v 1 , Ġmain Person 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Repo Ġ= Ġproject Repository . findById OrNull ( entity . getId ()) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo !!. stars ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo . stars Count ). isEqualTo ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo . stars ). contains ( Star ( entity . getId (), Ġmain Person . getId ())) ĊĠĠĠĠĠĠĠ ĠassertThat ( from Repo . stars ). contains ( Star ( entity . getId (), Ġmain Person 2 . getId ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search ĠDATA _ PROJECT ĠAND ĠCODE _ PROJECT Ġwithout Ġany Ġfilter `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( Search Request (), Ġpage (), Ġtoken 1 ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Algorithm . id , Ġcode Project Visualization . id , Ġdata Project Images . id ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( Search Request (), Ġpage (), Ġtoken 2 ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Algorithm . id , Ġcode Project Visualization . id , Ġdata Project Images . id ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 8 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search ĠDATA _ PROJECT `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Type Ġ= ĠDATA _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ Ġdata Project Images . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Type Ġ= ĠDATA _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ Ġdata Project Images . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search ĠCODE _ PROJECT `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Type Ġ= ĠCODE _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Visualization . id , Ġcode Project Algorithm . id ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Type Ġ= ĠCODE _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Visualization . id , Ġcode Project Algorithm . id ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search ĠCODE _ PROJECT Ġby Ġsearch able Ġfield `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . CODE _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Visualization . id , Ġcode Project Algorithm . id ) Ġ// Pre defined ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . CODE _ PROJECT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( code Project Operation . id , Ġcode Project Visualization . id , Ġcode Project Algorithm . id ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠVIS UAL IZATION Ġdat apro cess or Ġby Ġsearch able Ġfield `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . VIS UAL IZATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 2 , Ġ 6 , Ġ 9 ) Ġ+ Ġcode Project Visualization . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . VIS UAL IZATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 6 , Ġ 9 ) Ġ+ Ġcode Project Visualization . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠOPER ATION Ġdat apro cess or Ġby Ġsearch able Ġfield `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 5 , Ġ 7 , Ġ 8 ) Ġ+ Ġcode Project Operation . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 1 , Ġ 7 ) Ġ+ Ġcode Project Operation . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠAL G ORITHM Ġdat apro cess or Ġby Ġsearch able Ġfield `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . ALGORITHM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 3 , Ġ 4 ) Ġ+ Ġcode Project Algorithm . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . ALGORITHM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 3 ) Ġ+ Ġcode Project Algorithm . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject ĠVIS UAL IZATION `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" VIS UAL IZATION " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 2 , Ġ 6 , Ġ 9 ) Ġ+ Ġcode Project Visualization . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" VIS UAL IZATION " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 6 , Ġ 9 ) Ġ+ Ġcode Project Visualization . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠOPER ATION Ġdat apro cess or `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" OPERATION " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 5 , Ġ 7 , Ġ 8 ) Ġ+ Ġcode Project Operation . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" OPERATION " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 1 , Ġ 7 ) Ġ+ Ġcode Project Operation . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠAL G ORITHM Ġdat apro cess or `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" ALGORITHM " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 3 , Ġ 4 ) Ġ+ Ġcode Project Algorithm . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġ" ALGORITHM " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 3 ) Ġ+ Ġcode Project Algorithm . id ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠOPER ATION Ġdat apro cess or ĠAND Ġinput Ġtype ĠIMAGE `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" IMAGE "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 7 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" IMAGE "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 1 , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠOPER ATION Ġdat apro cess or ĠAND Ġinput Ġtype ĠTEXT ĠAND ĠTIM ES ER IES `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" TEXT ", Ġ" TIME _ SER IES "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . OPERATION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" TEXT ", Ġ" TIME _ SER IES "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġwith ĠAL G ORITHM Ġdat apro cess or ĠAND Ġinput Ġtype ĠNONE ĠAND Ġoutput Ġtype ĠMODEL `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . ALGORITHM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" NONE "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput DataTypes Ġ= Ġset Of (" MODEL "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 3 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . ALGORITHM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Ġ= Ġset Of (" NONE "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput DataTypes Ġ= Ġset Of (" MODEL "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 3 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġcode Ġproject ĠAND Ġinput Ġtype ĠIMAGE ĠOR ĠTEXT ĠOR ĠMODEL `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . CODE _ PROJECT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Or Ġ= Ġset Of (" IMAGE ", Ġ" TEXT ", Ġ" MODEL "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 5 , Ġ 7 , Ġ 8 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 5 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch able Type Ġ= ĠSearch able Type . CODE _ PROJECT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput DataTypes Or Ġ= Ġset Of (" IMAGE ", Ġ" TEXT ", Ġ" MODEL "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠTAG 1 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 2 , Ġ 3 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 8 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 4 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 8 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠTAG 1 ĠAND ĠTAG 4 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 ", Ġ" t Ag 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 3 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 3 , Ġ 4 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠTAG 1 ĠAND ĠTAG 4 ĠAND ĠNON - EXIST EN - TAG `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 ", Ġ" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 ", Ġ" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠTAG 1 ĠOR ĠTAG 4 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag 1 ", Ġ" Ta G 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 7 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 6 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 7 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠTAG 1 ĠOR ĠTAG 4 ĠOR ĠNON - EXIST EN - TAG `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 ", Ġ" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 7 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 2 , Ġ 3 , Ġ 6 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag 1 ", Ġ" TAG 4 ", Ġ" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 7 ) Ġ+ Ġget Code Project Ids ByIndex ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠAND ĠNON - EXIST EN - TAG `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= ĠlistOf (" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby ĠOR ĠNON - EXIST EN - TAG `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtags Or Ġ= ĠlistOf (" tag - does - not - exist "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġsingle ĠMODEL ĠTYPE `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" model Type 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 0 ) ĊĠĠĠĠĠĠĠ Ġ// There Ġare Ġno Ġprojects Ġreturned Ġbecause Ġthe Ġproject Ġwith ĠModel Type 1 Ġis Ġnot Ġvisible Ġfor Ġtoken 1 Ġ( owner Ġ- Ġtoken 2 , Ġprivate ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" model Type 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 1 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġmany ĠMODEL ĠTY PES `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" MODEL Type 0 ", Ġ" model Type 1 ", Ġ" model Type 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" model type 0 ", Ġ" model Type 1 ", Ġ" model Type 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 0 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġmany ĠML ĠC ATEG ORIES `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Or Ġ= ĠlistOf (" ML Category 5 ", Ġ" ML CATEGORY 7 ", Ġ" ml Category 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 5 , Ġ 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Or Ġ= ĠlistOf (" ML Category 5 ", Ġ" ML CATEGORY 7 ", Ġ" ml Category 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġmany ĠMODEL ĠTY PES Ġand ĠML ĠC ATEG ORIES `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" MODEL Type 0 ", Ġ" model Type 1 ", Ġ" model type 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Or Ġ= ĠlistOf (" ML Category 1 ", Ġ" ML CATEGORY 7 ", Ġ" ml Category 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Or Ġ= ĠlistOf (" model type 0 ", Ġ" model Type 1 ", Ġ" model Type 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Or Ġ= ĠlistOf (" ML Category 1 ", Ġ" ML CATEGORY 7 ", Ġ" ml Category 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Ids ByIndex ( 1 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġfor ks Ġcount `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Fork s Count Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Fork s Count Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 5 , Ġ 6 , Ġ 7 ) Ġ+ Ġget Code Project Slug sBy Index ( 2 , Ġ 3 , Ġ 4 , Ġ 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 7 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Fork s Count Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Fork s Count Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 4 , Ġ 5 , Ġ 6 , Ġ 7 ) Ġ+ Ġget Code Project Slug sBy Index ( 3 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 5 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġ 2 Ġstars `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 1 ) Ġ+ Ġget Code Project Ids ByIndex ( 6 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 1 ) Ġ+ Ġget Code Project Ids ByIndex ( 6 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġ 1 Ġand Ġ 2 Ġstars `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin St ars Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 1 , Ġ 2 ) Ġ+ Ġget Code Project Ids ByIndex ( 6 , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin St ars Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax St ars Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Ids ByIndex ( 1 ) Ġ+ Ġget Code Project Ids ByIndex ( 6 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġ 2 Ġowners `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ids Or Ġ= ĠlistOf ( main Person . id , Ġmain Person 2 . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 2 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ids Or Ġ= ĠlistOf ( main Person . id , Ġmain Person 2 . id ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 8 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" code ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" code ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġslug `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . content . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 9 ) Ġ+ Ġget Code Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġpublished `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublished Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 0 , Ġ 3 , Ġ 8 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublished Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġnot Ġpublished `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublished Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 2 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublished Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= Ġget Code Project Slug sBy Index ( 6 , Ġ 7 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġnamespace `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetData Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 8 ) Ġ+ Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 8 , Ġ 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 4 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 1 , Ġ 7 , Ġ 9 ) Ġ+ Ġget Code Project Slug sBy Index ( 1 , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 5 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġown `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetData Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 8 ) Ġ+ Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 8 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 1 , Ġ 4 , Ġ 7 , Ġ 9 ) Ġ+ Ġget Code Project Slug sBy Index ( 1 , Ġ 7 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġnot Ġown `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 1 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 3 , Ġ 5 , Ġ 6 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 3 , Ġ 6 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġparticip ate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetData Project Slug sBy Index ( 1 , Ġ 9 ) Ġ+ Ġget Code Project Slug sBy Index ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 6 ) Ġ+ Ġget Code Project Slug sBy Index ( 9 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġnot Ġparticip ate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 1 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 7 , Ġ 9 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 1 , Ġ 3 , Ġ 6 , Ġ 7 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 1 5 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġnot Ġown Ġand Ġnot Ġparticip ate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvar Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 7 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 7 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 6 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġids Ġ= Ġsearch Result . map Ġ{ Ġit . slug Ġ} ĊĊĠĠĠĠĠĠĠ Ġexpectation Ids Ġ= ĠgetData Project Slug sBy Index ( 3 , Ġ 5 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Code Project Slug sBy Index ( 0 , Ġ 3 , Ġ 6 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Operation . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Algorithm . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project Visualization . slug , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project Images . slug ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result ). has Size ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ids ). contains Exactly In Any Order Elements Of ( expect ation Ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġ@ Rollback ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` search Ġproject Ġby Ġown Ġand Ġparticip ate Ġ- ĠRET URNS ĠALL ĠUSER ' S ĠPROJECT S `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Mock ed Projects () ĊĠĠĠĠĠĠĠ Ġvar Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result . content ). has Size ( 1 6 ) Ġ// returns Ġall Ġuser 's Ġprojects Ġbecause Ġconnection Ġis Ġ' own ĠOR Ġparticip ate ' ĊĊĠĠĠĠĠĠĠ Ġsearch Result Ġ= Ġservice . search Projects ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġown Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticip ate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġpage (), Ġtoken 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( search Result . content ). has Size ( 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpage () Ġ= ĠPage Request . of ( 0 , Ġ 1 0 0 ) ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Mock ed Projects () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtag 1 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 2 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" tag 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 3 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" Tag 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 4 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" TAG 4 ") ĊĠĠĠĠĠĠĠ Ġval Ġtag 5 Ġ= ĠSearch able Tag ( randomUUID (), Ġ" gat 5 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġtag Set 2 Ġ= ĠlistOf ( tag 1 , Ġtag 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġtag Set 3 Ġ= ĠlistOf ( tag 1 , Ġtag 2 , Ġtag 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġtag Set 4 Ġ= ĠlistOf ( tag 1 , Ġtag 2 , Ġtag 3 , Ġtag 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġtag Set 5 Ġ= ĠlistOf ( tag 1 , Ġtag 2 , Ġtag 3 , Ġtag 4 , Ġtag 5 ) ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 1 Ġ= ĠlistOf ( video DataType , Ġtab ular DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 2 Ġ= ĠlistOf ( image DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 3 Ġ= ĠlistOf ( h ier DataType , Ġmodel DataType , Ġnumber DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 4 Ġ= ĠlistOf ( none DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 5 Ġ= ĠlistOf ( text DataType , Ġtime Series DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 6 Ġ= ĠlistOf ( model DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 7 Ġ= ĠlistOf ( any DataType ) ĊĠĠĠĠĠĠĠ Ġval ĠdataType Set 8 Ġ= ĠlistOf ( image DataType , Ġaudio DataType ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 0 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 9 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 0 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 1 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= ĠlistOf ( main Person , Ġmain Person 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 1 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 2 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= ĠlistOf ( main Person ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 2 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 3 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" not slug 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 3 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 4 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" Slug 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 4 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 5 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" SL UG 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 5 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 6 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" l ug 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 6 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 7 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" sl u 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 7 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 8 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" 8 g uls ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 8 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project 9 Ġ= Ġcreate Data Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġdata Ġproject Ġ 9 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdata Project List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 9 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 0 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġalgorithm Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 0 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 1 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġoperation Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 1 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 2 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġvisualization Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 2 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 3 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġtag Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġalgorithm Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 3 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 4 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" Slug 1 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġalgorithm Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 4 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 5 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" SL UG 1 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġoperation Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 5 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 6 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" l ug 1 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġvisualization Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= ĠlistOf ( main Person , Ġmain Person 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 6 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 7 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" sl u 1 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġmain Person 2 . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPUBLIC , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġoperation Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 7 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 8 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" 8 1 g uls ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġoperation Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstars Ġ= ĠlistOf ( main Person 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 8 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project 9 Ġ= Ġcreate Code Project ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslug Ġ= Ġ" slug 1 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Types Ġ= ĠdataType Set 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Types Ġ= ĠdataType Set 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Ġ= Ġmutable ListOf ( tag 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠPRIVATE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ks Count Ġ= Ġ 9 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" namespace 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Type Ġ= Ġvisualization Processor Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Type Ġ= Ġ" model Type 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġml Category Ġ= Ġ" ml Category 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Market place Ġservice Ġtest Ġcode Ġproject Ġ 9 ", ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcode Project List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 9 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 0 Ġ= Ġcreate Processor ( code Project 0 , Ġstatus Ġ= ĠPublish Status . PUBL ISHED ) Ġ// public , Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 1 Ġ= Ġcreate Processor ( code Project 1 , Ġstatus Ġ= ĠPublish Status . PUBL ISHED ) Ġ// private , Ġtoken 2 ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 3 _ 1 Ġ= Ġcreate Processor ( code Project 3 , Ġstatus Ġ= ĠPublish Status . PUBL ISH _ FAILED , Ġbranch Ġ= Ġ" master ", Ġversion Ġ= Ġ" 1 ") Ġ// public , Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 3 _ 2 Ġ= Ġcreate Processor ( code Project 3 , Ġstatus Ġ= ĠPublish Status . PUBL ISHED , Ġbranch Ġ= Ġ" master ", Ġversion Ġ= Ġ" 2 ") Ġ// public , Ġtoken 1 ĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 3 _ 3 Ġ= Ġcreate Processor ( code Project 3 , Ġstatus Ġ= ĠPublish Status . UN PUBL ISHED , Ġbranch Ġ= Ġ" master ", Ġversion Ġ= Ġ" 3 ") Ġ// public , Ġtoken 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 7 Ġ= Ġcreate Processor ( code Project 7 , Ġstatus Ġ= ĠPublish Status . PUBL ISH _ FAILED ) Ġ// public , Ġtoken 2 ĊĊĠĠĠĠĠĠĠ Ġval Ġprocessor For Code Project 8 Ġ= Ġcreate Processor ( code Project 8 , Ġstatus Ġ= ĠPublish Status . PUBL ISH _ FIN ISH ING ) Ġ// private , Ġtoken 1 ĊĊĠĠĠĠĠĠĠ Ġtoken 1 Ġ= ĠToken Details ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Person . name , Ġ" 1 2 3 4 ", Ġmain Person . id , Ġmain Person . id , Ġprojects Ġ= Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 0 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 1 . id Ġto ĠDE VELO PER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 2 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 3 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 5 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 6 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 8 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 9 . id Ġto ĠG UEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 0 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 2 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 3 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 4 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 5 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 6 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 8 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 9 . id Ġto ĠG UEST , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtoken 2 Ġ= ĠToken Details ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Person 2 . name , Ġ" 9 8 7 6 5 ", Ġmain Person 2 . id , Ġmain Person 2 . id , Ġprojects Ġ= Ġmutable Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 0 . id Ġto ĠDE VELO PER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 1 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 4 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 6 . id Ġto ĠM AINT AIN ER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 7 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Project 9 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 1 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 7 . id Ġto ĠOWNER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Project 9 . id Ġto ĠG UEST , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetData Project Ids ByIndex ( var arg Ġindexes : ĠInt ): ĠList < UUID > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindexes . map Ġ{ Ġdata Project List [ it ] Ġ}. map Ġ{ Ġit . id Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetData Project Slug sBy Index ( var arg Ġindexes : ĠInt ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindexes . map Ġ{ Ġdata Project List [ it ] Ġ}. map Ġ{ Ġit . slug Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Code Project Ids ByIndex ( var arg Ġindexes : ĠInt ): ĠList < UUID > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindexes . map Ġ{ Ġcode Project List [ it ] Ġ}. map Ġ{ Ġit . id Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Code Project Slug sBy Index ( var arg Ġindexes : ĠInt ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindexes . map Ġ{ Ġcode Project List [ it ] Ġ}. map Ġ{ Ġit . slug Ġ} ĊĠĠĠ Ġ} Ċ } Ċ