From: Ian Jackson Date: Sat, 13 Mar 2021 17:57:08 +0000 (+0000) Subject: at-otter: Sort pawns, check displaced X-Git-Tag: otter-0.4.0~110 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ee500a8ce95a5674a4e49c4ba13c28822ad54c89;p=otter.git at-otter: Sort pawns, check displaced Signed-off-by: Ian Jackson --- diff --git a/apitest/at-otter.rs b/apitest/at-otter.rs index 185d03cf..68d45739 100644 --- a/apitest/at-otter.rs +++ b/apitest/at-otter.rs @@ -421,17 +421,20 @@ impl Ctx { fn find_pawns(pieces: &IndexSlice]>) -> [PI; 2] { - let pawns = pieces.iter_enumerated() + let mut pawns = pieces.iter_enumerated() .filter(|(i,p)| p.info["desc"].as_str().unwrap().ends_with(" pawn")) .map(|(i,_)| i) .take(2) .collect::>() .into_inner().unwrap(); + + pawns.sort_by_key(|&p| -pieces[p].pos.0[0]); dbgc!(pawns) } let a_pawns = find_pawns(a_pieces.as_slice()); let b_pawns = find_pawns(b_pieces.as_slice()); + // at this point the indices correspond bob.synch()?; @@ -477,6 +480,12 @@ impl Ctx { dbgc!(nick, k,v,p); })?; + for &p in &b_pawns { + let b_pos = &b_pieces[p].pos; + let got = a_pawns.iter().find(|&&p| &a_pieces[p].pos == b_pos); + assert_eq!(got, None); + } + // to repro a bug, have Bob move the RHS pawn out again self.su_mut().mgmt_conn.fakerng_unfake()?;