/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġhttps :// github . com / openapi - processor / openapi - processor - core Ċ Ġ* ĠP DX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġio . openapi processor . core . writer . java Ċ Ċ import Ġio . kot est . core . spec . Isolation Mode Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . openapi processor . core . model . datat ypes .* Ċ import Ġio . openapi processor . core . support . datat ypes . Object DataType Ċ Ċ class ĠBean Validation Factory Spec : ĠString Spec ({ ĊĠĠĠ Ġisolation Mode Ġ= ĠI sol ation Mode . Instance Per Test ĊĊĠĠĠ Ġ" app lies Ġ@ Valid Ġto Ġ' array ' Ġwith Ġobject Ġitems " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠArray DataType ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject DataType (" Foo ", Ġ" pkg ", Ġlinked Map Of (" foo " Ġto ĠString DataType ()) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" Foo []" ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf ( Bean Validation . VALID . import ) ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe ĠlistOf ( Bean Validation . VALID . annotation ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" does Ġnot Ġapply Ġ@ Valid Ġto Ġ' array ' Ġwith Ġsimple Ġitems " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠArray DataType ( String DataType ()) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" String []" ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf () ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" app lies Ġ@ Valid Ġto Ġmapped Ġcollection Ġwith Ġobject Ġitems " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠM apped Collection DataType (" List ", Ġ" pkg ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject DataType (" Foo ", Ġ" pkg ", Ġlinked Map Of (" foo " Ġto ĠString DataType ()) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" List < @ Valid ĠFoo >" ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf ( Bean Validation . VALID . import ) ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" does Ġnot Ġapply Ġ@ Valid Ġto Ġmapped Ġcollection Ġwith Ġsimple Ġitems " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠM apped Collection DataType (" List ", Ġ" pkg ", ĠString DataType ()) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" List < String >" ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf () ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" app lies Ġ@ Pattern Ġto ĠString " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠString DataType ( DataType Constraints ( pattern Ġ= Ġ" regex ")) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" String " ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf ( Bean Validation . PATTERN . import ) ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe ĠlistOf (""" ${ Bean Validation . PATTERN . annotation }( regexp Ġ= Ġ" regex ") """) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" app lies Ġ@ Pattern Ġto ĠString Ġwith Ġescap ing " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalidation Ġ= ĠBean Validation Factory () ĊĊĠĠĠĠĠĠĠ Ġval ĠdataType Ġ= ĠString DataType ( DataType Constraints ( pattern Ġ= Ġ""" \. \\ "" ")) ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġvalidation . validate ( dataType ) ĊĊĠĠĠĠĠĠĠ Ġinfo . typeName ĠshouldBe Ġ" String " ĊĠĠĠĠĠĠĠ Ġinfo . imports ĠshouldBe ĠlistOf ( Bean Validation . PATTERN . import ) ĊĠĠĠĠĠĠĠ Ġinfo . annotations ĠshouldBe ĠlistOf (""" ${ Bean Validation . PATTERN . annotation }( regexp Ġ= Ġ"\\ . \\\\ ") """) ĊĠĠĠ Ġ} Ċ Ċ }) Ċ