@@ -53,7 +53,7 @@ mod by_random_tests {
5353 use rand_core:: SeedableRng ;
5454 use rand_hc:: Hc128Rng ;
5555
56- use crate :: { Borrowed , Fat , Owned , QuickUnion , Thin , UnionFind , quickunion :: ByRandom } ;
56+ use crate :: { quickunion :: ByRandom , Borrowed , Fat , Owned , QuickUnion , Thin , UnionFind } ;
5757
5858 #[ test]
5959 fn test_one_union ( ) {
@@ -70,19 +70,49 @@ mod by_random_tests {
7070 fn test_size ( ) {
7171 const N : usize = 128 ;
7272 assert_eq ! (
73- mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Owned >, false >, u8 , N >>( ) ,
73+ mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Owned >, false >, u8 , N >>(
74+ ) ,
7475 mem:: size_of:: <[ u8 ; N ] >( )
7576 + mem:: size_of:: <[ usize ; 0 ] >( )
7677 + mem:: size_of:: <Hc128Rng >( )
7778 ) ;
7879 }
7980
81+ #[ test]
82+ fn test_size_borrowed_rng ( ) {
83+ const N : usize = 128 ;
84+ assert_eq ! (
85+ mem:: size_of:: <
86+ UnionFind :: <' _, QuickUnion <ByRandom <& mut Hc128Rng , Owned >, false >, u8 , N >,
87+ >( ) ,
88+ mem:: size_of:: <[ u8 ; N ] >( )
89+ + mem:: size_of:: <[ usize ; 0 ] >( )
90+ + mem:: size_of:: <& Hc128Rng >( )
91+ ) ;
92+ }
93+
94+ #[ test]
95+ fn borrowed_rng_ctor ( ) {
96+ const N : usize = 10 ;
97+ let mut rng = Hc128Rng :: seed_from_u64 ( 67 ) ;
98+
99+ let mut uf =
100+ UnionFind :: < ' _ , QuickUnion < ByRandom < & mut Hc128Rng , Owned > , false > , u8 , N > :: new (
101+ & mut rng,
102+ ) ;
103+
104+ uf. union_sets ( 0 , 1 ) ;
105+
106+ assert ! ( uf. connected( 0 , 1 ) ) ;
107+ }
108+
80109 #[ test]
81110 fn test_size_padded ( ) {
82111 const M : usize = 100 ;
83112
84113 assert_eq ! (
85- mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Owned >, false >, u8 , M >>( ) ,
114+ mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Owned >, false >, u8 , M >>(
115+ ) ,
86116 mem:: size_of:: <[ u8 ; M ] >( )
87117 + mem:: size_of:: <[ usize ; 0 ] >( )
88118 + mem:: size_of:: <Hc128Rng >( )
@@ -94,7 +124,9 @@ mod by_random_tests {
94124 fn test_size_borrowed_thin ( ) {
95125 const N : usize = 128 ;
96126 assert_eq ! (
97- mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Borrowed <Thin >>, false >, u8 , N >>( ) ,
127+ mem:: size_of:: <
128+ UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Borrowed <Thin >>, false >, u8 , N >,
129+ >( ) ,
98130 mem:: size_of:: <& [ u8 ; N ] >( ) + mem:: size_of:: <Hc128Rng >( )
99131 ) ;
100132 }
@@ -103,7 +135,9 @@ mod by_random_tests {
103135 fn test_size_borrowed_fat ( ) {
104136 const N : usize = 128 ;
105137 assert_eq ! (
106- mem:: size_of:: <UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Borrowed <Fat >>, false >, u8 , N >>( ) ,
138+ mem:: size_of:: <
139+ UnionFind :: <' _, QuickUnion <ByRandom <Hc128Rng , Borrowed <Fat >>, false >, u8 , N >,
140+ >( ) ,
107141 mem:: size_of:: <& [ u8 ] >( ) + mem:: size_of:: <Hc128Rng >( )
108142 ) ;
109143 }
0 commit comments