/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġjet brains . build Server . dotnet . test Ċ Ċ import Ġjet brains . build Server . Xml Document ServiceImpl Ċ import Ġjet brains . build Server . dotnet . discovery .* Ċ import Ġjet brains . build Server . dotnet . discovery . Target Ċ import Ġorg . testng . Assert Ċ import Ġorg . testng . annotations . DataProvider Ċ import Ġorg . testng . annotations . Test Ċ Ċ class ĠMS Build Project Deserializer Test Ġ{ ĊĠĠĠ Ġ@ DataProvider ĊĠĠĠ Ġfun Ġtest Deserialize Data (): ĠArray < Array < Any >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ Bank . Test . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", ĠlistOf ( Configuration (" Debug "), ĠConfiguration (" Release ")), ĠlistOf ( Framework (" net 4 5 2 ")), Ġempty List (), ĠlistOf ( Reference (" System "), ĠReference (" Microsoft . VisualStudio . Quality Tools . UnitTest Framework "), ĠReference (" Microsoft . VisualStudio . Quality Tools . Coded UIT est Framework ")), Ġempty List (), Ġfalse , ĠlistOf ( Property (" Assembly Name ", Ġ" Bank . Test "), ĠProperty (" Test Project Type ", Ġ" UnitTest "), ĠProperty (" OutputType ", Ġ" Library ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ project - runtime . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", Ġempty List (), Ġempty List (), ĠlistOf ( Runtime (" win 7 - x 6 4 "), ĠRuntime (" win - 7 x 8 6 "), ĠRuntime (" ubuntu . 1 6 . 1 0 - x 6 4 ")), Ġempty List (), Ġempty List (), Ġfalse , ĠlistOf ( Property (" Sdk ", Ġ" Microsoft . NET . Sdk ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ Generate Package On Build . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", Ġempty List (), ĠlistOf ( Framework (" net standard 2 . 0 ")), Ġempty List (), Ġempty List (), Ġempty List (), Ġtrue , ĠlistOf ( Property (" Assembly Name ", Ġ" N ik . Nu get . Sample "), ĠProperty (" Sdk ", Ġ" Microsoft . NET . Sdk ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ project 1 4 . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", ĠlistOf ( Configuration (" Debug "), ĠConfiguration (" Release ")), ĠlistOf ( Framework (" net 2 0 ")), Ġempty List (), ĠlistOf ( Reference (" n unit . engine . api "), ĠReference (" System "), ĠReference (" System . Data "), ĠReference (" System . Xml ")), Ġempty List (), Ġfalse , ĠlistOf ( Property (" Assembly Name ", Ġ" team city - event - listener "), ĠProperty (" OutputType ", Ġ" Library ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ project . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", ĠlistOf ( Configuration (" Core ")), ĠlistOf ( Framework (" net core app 1 . 0 ")), Ġempty List (), ĠlistOf ( Reference (" Microsoft . NET . Sdk "), ĠReference (" Microsoft . NET . Test . Sdk ")), Ġempty List (), Ġfalse , ĠlistOf ( Property (" OutputType ", Ġ" Exe ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ build . proj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", ĠlistOf ( Configuration (" Release ")), Ġempty List (), Ġempty List (), Ġempty List (), ĠlistOf ( Target (" Get NuGet "), ĠTarget (" Build "), ĠTarget (" Test ")), Ġfalse , Ġempty List ()))) ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ project - simpl ified . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", ĠlistOf ( Configuration (" Core ")), ĠlistOf ( Framework (" net core app 1 . 0 ")), Ġempty List (), ĠlistOf ( Reference (" Microsoft . NET . Sdk "), ĠReference (" Microsoft . NET . Test . Sdk ")), Ġempty List (), Ġfalse , ĠlistOf ( Property (" OutputType ", Ġ" Exe "), ĠProperty (" Sdk ", Ġ" Microsoft . NET . Sdk ")) )))), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ project - frameworks . csproj ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSolution ( listOf ( Project (" project Path ", Ġempty List (), ĠlistOf ( Framework (" net 4 5 "), ĠFramework (" net standard 1 . 3 ")), Ġempty List (), ĠlistOf ( Reference (" New tonsoft . Json ")), Ġempty List (), Ġfalse , ĠlistOf ( Property (" Sdk ", Ġ" Microsoft . NET . Sdk ")) ))))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( dataProvider Ġ= Ġ" test Deserialize Data ") ĊĠĠĠ Ġfun Ġshould Deserialize ( target : ĠString , Ġexpected Solution : ĠSolution ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġ" project Path " ĊĠĠĠĠĠĠĠ Ġval Ġstream Factory Ġ= ĠStream Factory Stub (). add ( path , Ġthis :: class . java . getResource AsStream ( target )) ĊĠĠĠĠĠĠĠ Ġval Ġde serializer Ġ= ĠMS Build Project Deserializer ( Xml Document ServiceImpl ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġactual Solution Ġ= Ġde serializer . deserialize ( path , Ġstream Factory ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( actual Solution , Ġexpected Solution ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ DataProvider ĊĠĠĠ Ġfun Ġtest Accept Data (): ĠArray < Array < Any >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc P proj ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . csproj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . vb proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc 3 2 3 2 . vb proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . Proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . CS proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . VB proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" ab Ġc . VB proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" dd / ff / abc . VB proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" c :\\ dd \\ ff \\ abc . VB proj ", Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . sl n ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc .", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc . proj ddd ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (". proj ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" proj ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" csproj ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" VB proj ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" ĠĠ Ġ", Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ("", Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( dataProvider Ġ= Ġ" test Accept Data ") ĊĠĠĠ Ġfun Ġshould Accept ( path : ĠString , Ġexpected Accepted : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġde serializer Ġ= ĠMS Build Project Deserializer ( Xml Document ServiceImpl ()) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġactual Accepted Ġ= Ġde serializer . is Accepted ( path ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( actual Accepted , Ġexpected Accepted ) ĊĠĠĠ Ġ} Ċ }