/// <summary> /// Provides a centralized way of obtaining a Random Choice that allows for individual testing of functionality /// </summary> /// <returns>One of the available Squares in the board, throws an exception if none are present</returns> /// <exception cref="ArgumentOutOfRangeException">If no points are available</exception> Point IBoardActions.GetRandomChoice() { return(AvailableSquares.ElementAt(new Random().Next(0, AvailableSquares.Count()))); }