public Board() { EachGrid((x, y) => { m_squares[x, y] = new Square(x, y); m_squares[x, y].ValueSetEvent += HandleSquareValueSet; }); this.Complete = false; }
public void FireValueChangedEvent() { Square s = new Square(1, 1); Square eventSquare = null; s.ValueSetEvent += delegate(object sender, Square square) { eventSquare = square; }; s.Value = 9; Assert.IsNotNull(eventSquare); Assert.AreEqual(s, eventSquare); }
public void TestSetValueAfterRemovingPossiblities() { Square s = new Square(1, 1); Square eventSquare = null; s.ValueSetEvent += delegate(object sender, Square square) { eventSquare = square; }; for (int x = 1; x < 9; x++) s.RemovePossiblity(x); Assert.IsNotNull(eventSquare); Assert.AreEqual(eventSquare.Value, 9); }
void HandleSquareValueSet(object sender, Square square) { bool complete = true; EachSquare(s => { if (s.Value == null) complete = false; }); this.Complete = complete; Action<Square> action = new Action<Square>(s => { if (s != square) s.RemovePossiblity(square.Value.Value); }); EachRow(square.Row, action); EachColumn(square.Column, action); EachGroup(square.Row, square.Column, action); }
public void TestSquareToString() { Square s = new Square(1, 1); Assert.AreEqual("1,2,3,4,5,6,7,8,9", s.ToString()); s.RemovePossiblity(5); Assert.AreEqual("1,2,3,4,6,7,8,9", s.ToString()); s.Value = 4; Assert.AreEqual("4", s.ToString()); }