@@ -220,6 +220,68 @@ public void ConnectionSettingsViaBuilderWithUris()
220220 Assert . Equal ( scheme , a2 . Scheme ) ;
221221 }
222222
223+ [ Fact ]
224+ public void ConnectionSettingsWithEqualUris ( )
225+ {
226+ const string scheme = "amqps" ;
227+ const string host = "rabbitmq-host.foo.baz.com" ;
228+ string user = RandomString ( 10 ) ;
229+ string pass = RandomString ( 10 ) ;
230+ string containerId = RandomString ( 10 ) ;
231+
232+ var uri0_0 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5681/%2Ffrazzle") ;
233+ var uri0_1 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5681/%2Ffrazzle") ;
234+
235+ var uri1_0 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5691/%2Ffrazzle") ;
236+ var uri1_1 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5691/%2Ffrazzle") ;
237+
238+ var uri2_0 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5677/%2Ffrazzle") ;
239+ var uri2_1 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5677/%2Ffrazzle") ;
240+
241+ List < Uri > uris0 = [ uri0_0 , uri1_0 , uri2_0 ] ;
242+ ConnectionSettingsBuilder connectionSettingsBuilder0 = ConnectionSettingsBuilder . Create ( )
243+ . Uris ( uris0 )
244+ . ContainerId ( containerId ) ;
245+ ConnectionSettings connectionSettings0 = connectionSettingsBuilder0 . Build ( ) ;
246+
247+ List < Uri > uris1 = [ uri0_1 , uri1_1 , uri2_1 ] ;
248+ ConnectionSettingsBuilder connectionSettingsBuilder1 = ConnectionSettingsBuilder . Create ( )
249+ . Uris ( uris1 )
250+ . ContainerId ( containerId ) ;
251+ ConnectionSettings connectionSettings1 = connectionSettingsBuilder1 . Build ( ) ;
252+ Assert . Equal ( connectionSettings0 , connectionSettings1 ) ;
253+ Assert . Equal ( connectionSettings0 . GetHashCode ( ) , connectionSettings1 . GetHashCode ( ) ) ;
254+ }
255+
256+ [ Fact ]
257+ public void ConnectionSettingsWithUrisNotEqual ( )
258+ {
259+ const string scheme = "amqps" ;
260+ const string host = "rabbitmq-host.foo.baz.com" ;
261+ string user = RandomString ( 10 ) ;
262+ string pass = RandomString ( 10 ) ;
263+ string containerId = RandomString ( 10 ) ;
264+
265+ var uri0 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5681/%2Ffrazzle") ;
266+ var uri1 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5691/%2Ffrazzle") ;
267+ var uri2_0 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5671/%2Ffrazzle") ;
268+ var uri2_1 = new Uri ( $ "{ scheme } ://{ user } :{ pass } @{ host } :5677/%2Ffrazzle") ;
269+
270+ List < Uri > uris0 = [ uri0 , uri1 , uri2_0 ] ;
271+ ConnectionSettingsBuilder connectionSettingsBuilder0 = ConnectionSettingsBuilder . Create ( )
272+ . Uris ( uris0 )
273+ . ContainerId ( containerId ) ;
274+ ConnectionSettings connectionSettings0 = connectionSettingsBuilder0 . Build ( ) ;
275+
276+ List < Uri > uris1 = [ uri0 , uri1 , uri2_1 ] ;
277+ ConnectionSettingsBuilder connectionSettingsBuilder1 = ConnectionSettingsBuilder . Create ( )
278+ . Uris ( uris1 )
279+ . ContainerId ( containerId ) ;
280+ ConnectionSettings connectionSettings1 = connectionSettingsBuilder1 . Build ( ) ;
281+ Assert . NotEqual ( connectionSettings0 , connectionSettings1 ) ;
282+ Assert . NotEqual ( connectionSettings0 . GetHashCode ( ) , connectionSettings1 . GetHashCode ( ) ) ;
283+ }
284+
223285 [ Fact ]
224286 public void ConnectionSettingsViaUrisThrowsWithDifferentVirtualHosts ( )
225287 {
0 commit comments