public void GetExpectedValueRetursProperInterval()
        {
            var expertone = new Expertone<string>(this.GetTestExpertise());
            var expectedValue = expertone.GetExpectedValue();

            Assert.NotNull(expectedValue);
            Assert.AreEqual(0.67m, expectedValue.LowerBound);
            Assert.AreEqual(0.8m, expectedValue.UpperBound);
        }
        /// <summary>
        /// Aggregates the linguistic information privided in the expertise using the expertone method.
        /// </summary>
        /// <param name="expertise">The expertise.</param>
        /// <param name="hierarchy">The hierarchy for the labels in the expertise.</param>
        /// <param name="referenceLevel">The reference level where we shall standarize the expertise.</param>
        /// <returns>
        /// An adjusted interval aggregating the linguistic information provided in the expertise.
        /// </returns>
        Interval IExpertoneAggregator.AggregateByExpertone(Expertise expertise, Hierarchy hierarchy, int referenceLevel)
        {
            Contract.NotNull(expertise, "expertise");
            Contract.NotNull(hierarchy, "hierarchy");

            var standardExpertise = this.standardizer.Standardize(expertise, hierarchy, referenceLevel);
            TwoTupleCardinalities cardinalities = new TwoTupleCardinalities(standardExpertise);

            var expertone = new Expertone<TwoTuple>(cardinalities);
            var expectedValue = expertone.GetExpectedValue();
            var expectedInterval = expertone.Interval.LowerBound + ((expertone.Interval.Width) * expectedValue);
            return expectedInterval;
        }