public bool Equals(Puzzle that) { return(that != null && this.ColumnConstraints.Equals(that.ColumnConstraints) && this.RowConstraints.Equals(that.RowConstraints) && this.Grid.Equals(that.Grid)); }