public void AddNeighbor(PuzzleVertex neighbor) { if (_neighbors.Any(t => IsEquals(t))) { throw new ArgumentException("Neighbor already exists"); } _neighbors.Add(neighbor); }
public void AddVertex(int index, int value) { if (_vertexes.ContainsKey(index)) { throw new ArgumentException($"Vertex with index {index} already exists"); } if (_vertexes.Values.Any(t => t.Value == value)) { throw new ArgumentException($"Vertex with value {value} already exists"); } _vertexes[index] = new PuzzleVertex(index, value); }
private bool IsEquals(PuzzleVertex vertex) { return(vertex.Index == Index && vertex.Value == Value); }