chiark / gitweb /
wdt-hand: Move a pawn in
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 14 Mar 2021 20:22:06 +0000 (20:22 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 15 Mar 2021 00:55:47 +0000 (00:55 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
wdriver/wdt-hand.rs

index 5e5fc23d4e0e7eaa0f3ae7074e05c71d3098d98c..7d6ed30573c5ea1fa352ac770429367cb4933fbe 100644 (file)
@@ -13,6 +13,7 @@ deref_to_field!{Ctx, Setup, su}
 usual_wanted_tests!{Ctx, su}
 
 const HAND: &str = "6.1";
+const PAWN: &str = "7.1";
 const ALICE: &str = "1#1";
 
 #[throws(AE)]
@@ -46,11 +47,12 @@ impl Ctx {
       Ok::<_,AE>(())
     };
 
-    {
+    let hand_posg = {
       let mut w = su.w(&self.alice)?;
       w.synch()?;
 
       let hand = w.find_piece(HAND)?;
+      let hand_posg = hand.posg()?;
       w.action_chain()
         .move_pos(&hand)?
         .click()
@@ -70,13 +72,27 @@ impl Ctx {
         .context("deselect")?;
 
       chk(&mut w, HAND, Some(ALICE))?;
-    }
+
+      hand_posg
+    };
 
     {
       let mut w = su.w(&self.bob)?;
       chk(&mut w, HAND, Some(ALICE))?;
     }
 
+    {
+      let mut w = su.w(&self.alice)?;
+      let pawn = w.find_piece(PAWN)?;
+      w.action_chain()
+        .move_pos(&pawn)?
+        .click_and_hold()
+        .move_w(&w, (hand_posg + PosC([20,0]))?)?
+        .release()
+        .perform()?;
+      w.synch()?;
+    }
+
     for side in &[&self.alice, &self.bob] {
       let mut w = su.w(side)?;
       w.synch()?;