Exemplo n.º 1
0
        public void AddNeighbor(PuzzleVertex neighbor)
        {
            if (_neighbors.Any(t => IsEquals(t)))
            {
                throw new ArgumentException("Neighbor already exists");
            }

            _neighbors.Add(neighbor);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 private bool IsEquals(PuzzleVertex vertex)
 {
     return(vertex.Index == Index && vertex.Value == Value);
 }