/// <summary>
        /// The implimentation for calculate the triangle type
        /// </summary>
        /// <param name="triangle"><see cref="Triangle"/> model to calculate</param>
        /// <returns>The type of triangle: <see cref="TriangleType"/></returns>
        public TriangleType GetTriangleType(Models.Triangle triangle)
        {
            var result = GetFromCache <TriangleType>(triangle.ToString());

            if (result != TriangleType.Error)
            {
                return(result);
            }

            result = _isValidHandler.HandleRequest(triangle);
            AddToCache(result);
            return(result);
        }