From cc87ad378e64c4647c0c24f3e480042f755b2218 Mon Sep 17 00:00:00 2001 From: shimun Date: Fri, 1 Nov 2019 21:54:37 +0100 Subject: [PATCH] handle simple draw --- src/main.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.rs b/src/main.rs index ebc8c50..79222dd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -163,6 +163,7 @@ impl Board { } //Diagonal winners require a full X pass winner(&winners[2..4]) + .or(Some(State::N).filter(|_| self.0.iter().filter(|s| *s == &State::N).count() == 0)) } } @@ -253,6 +254,11 @@ mod test { Board::from_str("OXN,OON,XNO").unwrap().winner(), Some(State::O) ); + println!("{}", Board::from_str("XOX,OOX,OXO").unwrap()); + assert_eq!( + Board::from_str("XOX,OOX,OXO").unwrap().winner(), + Some(State::N) + ); } #[test]