()
| 115 | |
| 116 | #[test] |
| 117 | fn test_read() { |
| 118 | type Buf = ReadBuffer<U4>; |
| 119 | let mut buf = Buf::default(); |
| 120 | |
| 121 | let mut n = 0u8; |
| 122 | let mut g = |block: &mut Array<u8, U4>| { |
| 123 | block.iter_mut().for_each(|b| { |
| 124 | *b = n; |
| 125 | n += 1; |
| 126 | }); |
| 127 | }; |
| 128 | |
| 129 | let res = buf.read_cached(0); |
| 130 | assert!(res.is_empty()); |
| 131 | let res = buf.read_cached(10); |
| 132 | assert!(res.is_empty()); |
| 133 | |
| 134 | buf.write_block(2, &mut g, |buf| assert_eq!(buf, [0, 1])); |
| 135 | assert_eq!(buf.remaining(), 2); |
| 136 | |
| 137 | let res = buf.read_cached(1); |
| 138 | assert_eq!(res, [2]); |
| 139 | let res = buf.read_cached(10); |
| 140 | assert_eq!(res, [3]); |
| 141 | assert_eq!(buf.remaining(), 0); |
| 142 | |
| 143 | buf.write_block(0, |_| unreachable!(), |_| unreachable!()); |
| 144 | buf.write_block(3, &mut g, |buf| assert_eq!(buf, [4, 5, 6])); |
| 145 | assert_eq!(buf.remaining(), 1); |
| 146 | |
| 147 | buf.write_block(0, |_| unreachable!(), |_| unreachable!()); |
| 148 | assert_eq!(buf.remaining(), 1); |
| 149 | let res = buf.read_cached(10); |
| 150 | assert_eq!(res, [7]); |
| 151 | |
| 152 | buf.write_block(1, &mut g, |buf| assert_eq!(buf, [8])); |
| 153 | assert_eq!(buf.remaining(), 3); |
| 154 | |
| 155 | let res = buf.read_cached(10); |
| 156 | assert_eq!(res, [9, 10, 11]); |
| 157 | assert_eq!(buf.remaining(), 0); |
| 158 | } |
| 159 | |
| 160 | #[test] |
| 161 | fn test_eager_paddings() { |
nothing calls this directly
no test coverage detected