outRequirement = new ValueRequirement(ValueRequirementNames.SPOT_RATE, _matrixTarget.toSpecification(), ValueProperties
.with(AbstractCurrencyMatrixSourcingFunction.SOURCE_CURRENCY_PROPERTY, "GBP").with(AbstractCurrencyMatrixSourcingFunction.TARGET_CURRENCY_PROPERTY, "EUR")
.with(ValuePropertyNames.FUNCTION, "CMSF").get());
inRequirements = _function.getRequirements(_functionCompilationContext, _matrixTarget, outRequirement);
assertEquals(0, inRequirements.size());
outputs = _function.execute(_functionExecutionContext, new EmptyFunctionInputs(), _matrixTarget, Collections.singleton(outRequirement));
assertEquals(1, outputs.size());
output = outputs.iterator().next();
assertTrue(output.getValue() instanceof Double);
assertEquals(1.0 / _rateEUR_GBP, (Double) output.getValue(), Double.MIN_NORMAL);