@@ -105,4 +105,54 @@ public void TestOverrideDapperVersion()
105105
106106 Assert . That ( actual , Is . EqualTo ( expected ) ) ;
107107 }
108+
109+ [ Test ]
110+ public async Task TestGenerationWithoutCentralPackageManagement ( )
111+ {
112+ GenerateRequest request = new ( )
113+ {
114+ Settings = _mysqlSettings ,
115+ Catalog = _emptyCatalog ,
116+ PluginOptions =
117+ ByteString . CopyFrom ( "{\" useCentralPackageManagement\" : false}" ,
118+ Encoding . UTF8 )
119+ } ;
120+
121+ var response = await CodeGenerator . Generate ( request ) ;
122+ var csprojFile = response . Files . First ( f => f . Name == $ "{ request . Settings . Codegen . Out } .csproj") ;
123+ XmlDocument doc = new ( ) ;
124+ doc . LoadXml ( csprojFile . Contents . ToStringUtf8 ( ) ) ;
125+
126+ var centralPackageManagementNode = doc . SelectSingleNode ( "//ManagePackageVersionsCentrally" ) ;
127+ Assert . That ( centralPackageManagementNode , Is . Not . Null ) ;
128+ Assert . That ( centralPackageManagementNode . InnerText , Is . EqualTo ( "False" ) ) ;
129+
130+ var firstPackageReference = doc . SelectSingleNode ( "//PackageReference[@Version]" ) ;
131+ Assert . That ( firstPackageReference , Is . Not . Null ) ;
132+ }
133+
134+ [ Test ]
135+ public async Task TestGenerationWithCentralPackageManagement ( )
136+ {
137+ GenerateRequest request = new ( )
138+ {
139+ Settings = _mysqlSettings ,
140+ Catalog = _emptyCatalog ,
141+ PluginOptions =
142+ ByteString . CopyFrom ( "{\" useCentralPackageManagement\" : true}" ,
143+ Encoding . UTF8 )
144+ } ;
145+
146+ var response = await CodeGenerator . Generate ( request ) ;
147+ var csprojFile = response . Files . First ( f => f . Name == $ "{ request . Settings . Codegen . Out } .csproj") ;
148+ XmlDocument doc = new ( ) ;
149+ doc . LoadXml ( csprojFile . Contents . ToStringUtf8 ( ) ) ;
150+
151+ var centralPackageManagementNode = doc . SelectSingleNode ( "//ManagePackageVersionsCentrally" ) ;
152+ Assert . That ( centralPackageManagementNode , Is . Not . Null ) ;
153+ Assert . That ( centralPackageManagementNode . InnerText , Is . EqualTo ( "True" ) ) ;
154+
155+ var firstPackageReference = doc . SelectSingleNode ( "//PackageReference[@Version]" ) ;
156+ Assert . That ( firstPackageReference , Is . Null ) ;
157+ }
108158}
0 commit comments