public void GetAllValuesOfFunctionWithTwoComponents()
        {
            IVariable x = new Variable<double>("x");
            IVariable l = new Variable<double>("left");
            IVariable r = new Variable<double>("right");

            IFunction f = new Function();
            f.Arguments.Add(x);
            f.Components.Add(l);
            f.Components.Add(r);

            f[0.0] = new[] { 10.0, 3.0 };
            f[1.0] = new[] { 20.0, 6.0 };
            
            // We need GetAllComponentValues function to retrieve ALL components, not just the first. TODO: FIX
            Assert.AreEqual( 10.0 , f[0.0]);
            Assert.AreEqual(new[] { 10.0, 3.0 }, f.GetAllComponentValues(0.0));
            Assert.AreEqual(new[] { 20.0, 6.0 }, f.GetAllComponentValues(1.0));
        }