From: Ian Jackson Date: Sat, 15 May 2021 18:24:45 +0000 (+0100) Subject: apitest: Break out place_library_load_markers X-Git-Tag: otter-0.6.0~272 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=9951f4ab0fa5d283bdd6755915b676b4b07ff124;p=otter.git apitest: Break out place_library_load_markers Signed-off-by: Ian Jackson --- diff --git a/apitest/at-otter.rs b/apitest/at-otter.rs index 6da3413a..da8eced8 100644 --- a/apitest/at-otter.rs +++ b/apitest/at-otter.rs @@ -492,6 +492,25 @@ impl Ctx { self.su().ds.otter_prctx(&self.prctx, &args)? } + #[throws(Explode)] + fn place_library_load_markers(&mut self) -> Session { + let mut session = self.connect_player(&self.alice)?; + let pieces = session.pieces::()?; + let llm = pieces.into_iter() + .filter(|pi| pi.info["desc"] == "a library load area marker") + .collect::>(); + let llm: [_;2] = llm.into_inner().unwrap(); + dbgc!(&llm); + + for (llm, &pos) in izip!(&llm, [PosC::new(5,5), PosC::new(50,25)].iter()) + { + session.api_piece(GH::With, &llm.id, pos)?; + } + + session.synch()?; + session + } + #[throws(Explode)] fn library_load(&mut self) { prepare_game(&self.su().ds, &self.prctx, TABLE)?; @@ -513,20 +532,7 @@ impl Ctx { assert_eq!(add_err.downcast::()?.0.code(), Some(EXIT_NOTFOUND)); - let mut session = self.connect_player(&self.alice)?; - let pieces = session.pieces::()?; - let llm = pieces.into_iter() - .filter(|pi| pi.info["desc"] == "a library load area marker") - .collect::>(); - let llm: [_;2] = llm.into_inner().unwrap(); - dbgc!(&llm); - - for (llm, &pos) in izip!(&llm, [PosC::new(5,5), PosC::new(50,25)].iter()) - { - session.api_piece(GH::With, &llm.id, pos)?; - } - - session.synch()?; + let mut session = self.place_library_load_markers()?; self.otter(&command) .expect("library-add failed after place!");