@@ -82,26 +82,16 @@ where
8282#[ cfg( test) ]
8383mod test {
8484 extern crate std;
85- use crate :: radio:: prelude:: { EsbAutoAck , EsbPayloadLength } ;
86- use crate :: spi_test_expects;
87-
88- use super :: { commands, registers, RF24 } ;
89- use embedded_hal_mock:: eh1:: delay:: NoopDelay ;
90- use embedded_hal_mock:: eh1:: digital:: Mock as PinMock ;
91- use embedded_hal_mock:: eh1:: spi:: { Mock as SpiMock , Transaction as SpiTransaction } ;
85+ use super :: { commands, registers, EsbAutoAck } ;
86+ use crate :: { radio:: prelude:: EsbPayloadLength , spi_test_expects, test:: mk_radio} ;
87+ use embedded_hal_mock:: eh1:: spi:: Transaction as SpiTransaction ;
9288 use std:: vec;
9389
9490 const EN_ACK_PAY : u8 = 1 << 1 ;
9591 const EN_DPL : u8 = 1 << 2 ;
9692
9793 #[ test]
9894 pub fn allow_ack_payloads ( ) {
99- // Create pin
100- let pin_expectations = [ ] ;
101- let mut pin_mock = PinMock :: new ( & pin_expectations) ;
102-
103- // create delay fn
104- let delay_mock = NoopDelay :: new ( ) ;
10595 let mut ack_buf = [ 0x55 ; 3 ] ;
10696 let valid_pipe = 2 ;
10797 ack_buf[ 0 ] = commands:: W_ACK_PAYLOAD | valid_pipe;
@@ -150,8 +140,8 @@ mod test {
150140 vec![ 0xEu8 , 0u8 ] ,
151141 ) ,
152142 ] ;
153- let mut spi_mock = SpiMock :: new ( & spi_expectations) ;
154- let mut radio = RF24 :: new ( pin_mock . clone ( ) , spi_mock . clone ( ) , delay_mock ) ;
143+ let mocks = mk_radio ( & [ ] , & spi_expectations) ;
144+ let ( mut radio, mut spi , mut ce_pin ) = ( mocks . 0 , mocks . 1 , mocks . 2 ) ;
155145 radio. set_ack_payloads ( true ) . unwrap ( ) ;
156146 // do again for region coverage (should result in Ok non-op)
157147 radio. set_ack_payloads ( true ) . unwrap ( ) ;
@@ -168,19 +158,12 @@ mod test {
168158 radio. set_auto_ack_pipe ( false , 0 ) . unwrap ( ) ;
169159 // disable pipe 1 for region coverage
170160 radio. set_auto_ack_pipe ( false , 1 ) . unwrap ( ) ;
171- spi_mock . done ( ) ;
172- pin_mock . done ( ) ;
161+ spi . done ( ) ;
162+ ce_pin . done ( ) ;
173163 }
174164
175165 #[ test]
176166 pub fn set_auto_ack ( ) {
177- // Create pin
178- let pin_expectations = [ ] ;
179- let mut pin_mock = PinMock :: new ( & pin_expectations) ;
180-
181- // create delay fn
182- let delay_mock = NoopDelay :: new ( ) ;
183-
184167 let spi_expectations = spi_test_expects ! [
185168 // enable ACK payloads
186169 // read/write FEATURE register
@@ -214,25 +197,18 @@ mod test {
214197 // read RX_PL_WID
215198 ( vec![ commands:: R_RX_PL_WID , 0u8 ] , vec![ 0xEu8 , 32 ] ) ,
216199 ] ;
217- let mut spi_mock = SpiMock :: new ( & spi_expectations) ;
218- let mut radio = RF24 :: new ( pin_mock . clone ( ) , spi_mock . clone ( ) , delay_mock ) ;
200+ let mocks = mk_radio ( & [ ] , & spi_expectations) ;
201+ let ( mut radio, mut spi , mut ce_pin ) = ( mocks . 0 , mocks . 1 , mocks . 2 ) ;
219202 radio. set_ack_payloads ( true ) . unwrap ( ) ;
220203 assert ! ( radio. get_ack_payloads( ) ) ;
221204 radio. set_auto_ack ( false ) . unwrap ( ) ;
222205 assert_eq ! ( radio. get_dynamic_payload_length( ) . unwrap( ) , 32u8 ) ;
223- spi_mock . done ( ) ;
224- pin_mock . done ( ) ;
206+ spi . done ( ) ;
207+ ce_pin . done ( ) ;
225208 }
226209
227210 #[ test]
228211 pub fn allow_ask_no_ack ( ) {
229- // Create pin
230- let pin_expectations = [ ] ;
231- let mut pin_mock = PinMock :: new ( & pin_expectations) ;
232-
233- // create delay fn
234- let delay_mock = NoopDelay :: new ( ) ;
235-
236212 let spi_expectations = spi_test_expects ! [
237213 // disable EN_DYN_ACK flag in FEATURE register
238214 ( vec![ registers:: FEATURE , 0u8 ] , vec![ 0u8 , EN_ACK_PAY ] ) ,
@@ -241,10 +217,10 @@ mod test {
241217 vec![ 0xEu8 , 0u8 ] ,
242218 ) ,
243219 ] ;
244- let mut spi_mock = SpiMock :: new ( & spi_expectations) ;
245- let mut radio = RF24 :: new ( pin_mock . clone ( ) , spi_mock . clone ( ) , delay_mock ) ;
220+ let mocks = mk_radio ( & [ ] , & spi_expectations) ;
221+ let ( mut radio, mut spi , mut ce_pin ) = ( mocks . 0 , mocks . 1 , mocks . 2 ) ;
246222 radio. allow_ask_no_ack ( true ) . unwrap ( ) ;
247- spi_mock . done ( ) ;
248- pin_mock . done ( ) ;
223+ spi . done ( ) ;
224+ ce_pin . done ( ) ;
249225 }
250226}
0 commit comments