public void Addition_LeftMultiplicationFunctionRightAdditionFunction_PointsAreEqual <T> (
            T value1,
            T value2,
            T expectedResult,
            IRing <T> ring)
        {
            Func <T, T, T> func1 = ring.Addition;
            Func <T, T, T> func2 = ring.Multiplication;

            var calc = ring.Addition(func1, func2);

            Assert.NotNull(calc);
            Assert.AreEqual(expectedResult, calc(value1, value2));
        }