Package com.opengamma.engine.test

Examples of com.opengamma.engine.test.MockFunction


    final SimpleSecurity sec2 = new SimpleSecurity("Your Sec");
    sec2.addExternalId(secIdentifier2);
    final InMemorySecuritySource securitySource = new InMemorySecuritySource();
    securitySource.addSecurity(sec1);
    securitySource.addSecurity(sec2);
    final MockFunction fn2 = MockFunction.getMockFunction("fn2", new ComputationTarget(ComputationTargetType.SECURITY, sec2), 14.2);
    final MockFunction fn1 = MockFunction.getMockFunction("fn1", new ComputationTarget(ComputationTargetType.PORTFOLIO_NODE, pn), 14.2, fn2);
    final InMemoryFunctionRepository functionRepo = new InMemoryFunctionRepository();
    functionRepo.addFunction(fn1);
    functionRepo.addFunction(fn2);
    final FunctionCompilationContext functionCompilationContext = new FunctionCompilationContext();
    functionCompilationContext.setFunctionInitId(123);
View Full Code Here


    final ViewDefinition viewDefinition = new ViewDefinition("Test", "jonathan");
    final ViewCalculationConfiguration calcConfig = new ViewCalculationConfiguration(viewDefinition, "Config1");
    viewDefinition.addViewCalculationConfiguration(calcConfig);
    final UniqueId t1 = UniqueId.of("TestScheme", "t1");
    final InMemoryFunctionRepository functionRepo = new InMemoryFunctionRepository();
    final MockFunction f1 = MockFunction.getMockFunction(new ComputationTarget(ComputationTargetType.PRIMITIVE, t1), 42);
    functionRepo.addFunction(f1);
    final FunctionCompilationContext compilationContext = new FunctionCompilationContext();
    compilationContext.setFunctionInitId(123);
    final CompiledFunctionService cfs = new CompiledFunctionService(functionRepo, new CachingFunctionRepositoryCompiler(), compilationContext);
    cfs.initialize();
    final DefaultFunctionResolver functionResolver = new DefaultFunctionResolver(cfs);
    final DefaultCachingComputationTargetResolver computationTargetResolver = new DefaultCachingComputationTargetResolver(new DefaultComputationTargetResolver(), _cacheManager);
    compilationContext.setRawComputationTargetResolver(computationTargetResolver);
    final ViewCompilationServices compilationServices = new ViewCompilationServices(new FixedMarketDataAvailabilityProvider(), functionResolver, compilationContext, new PoolExecutor(1, getClass()
        .getSimpleName()),
        new DependencyGraphBuilderFactory());
    // We'll require r1 which can be satisfied by f1
    calcConfig.addSpecificRequirement(f1.getResultSpec().toRequirementSpecification());
    final CompiledViewDefinitionWithGraphsImpl compiledViewDefinition = ViewDefinitionCompiler.compile(viewDefinition, compilationServices, Instant.now(), VersionCorrection.LATEST);
    assertTrue(compiledViewDefinition.getMarketDataRequirements().isEmpty());
    assertEquals(1, compiledViewDefinition.getDependencyGraphExplorers().size());
    assertNotNull(compiledViewDefinition.getDependencyGraphExplorer("Config1"));
    assertTargets(compiledViewDefinition, t1);
View Full Code Here

    sec1.addExternalId(secIdentifier1);
    final InMemorySecuritySource securitySource = new InMemorySecuritySource();
    securitySource.addSecurity(sec1);
    final UniqueId t1 = UniqueId.of("TestScheme", "t1");
    final InMemoryFunctionRepository functionRepo = new InMemoryFunctionRepository();
    final MockFunction f1 = MockFunction.getMockFunction("f1", new ComputationTarget(ComputationTargetType.PRIMITIVE, t1), 42);
    final MockFunction f2 = MockFunction.getMockFunction("f2", new ComputationTarget(ComputationTargetType.SECURITY, sec1), 60, f1);
    functionRepo.addFunction(f1);
    functionRepo.addFunction(f2);
    final FunctionCompilationContext compilationContext = new FunctionCompilationContext();
    compilationContext.setFunctionInitId(123);
    final CompiledFunctionService cfs = new CompiledFunctionService(functionRepo, new CachingFunctionRepositoryCompiler(), compilationContext);
    cfs.initialize();
    final DefaultFunctionResolver functionResolver = new DefaultFunctionResolver(cfs);
    final DefaultCachingComputationTargetResolver computationTargetResolver = new DefaultCachingComputationTargetResolver(new DefaultComputationTargetResolver(securitySource), _cacheManager);
    compilationContext.setRawComputationTargetResolver(computationTargetResolver);
    final ViewCompilationServices compilationServices = new ViewCompilationServices(new FixedMarketDataAvailabilityProvider(), functionResolver, compilationContext, new PoolExecutor(1, getClass()
        .getSimpleName()),
        new DependencyGraphBuilderFactory());
    // We'll require r2 which can be satisfied by f2, which in turn requires the output of f1
    // Additionally, the security should be resolved through the ComputationTargetResolver, which only has a security
    // source.
    calcConfig.addSpecificRequirement(f2.getResultSpec().toRequirementSpecification());
    CompiledViewDefinitionWithGraphsImpl compiledViewDefinition = ViewDefinitionCompiler.compile(viewDefinition, compilationServices, Instant.now(), VersionCorrection.LATEST);
    assertTrue(compiledViewDefinition.getMarketDataRequirements().isEmpty());
    assertEquals(1, compiledViewDefinition.getDependencyGraphExplorers().size());
    assertNotNull(compiledViewDefinition.getDependencyGraphExplorer("Config1"));
    assertTargets(compiledViewDefinition, sec1.getUniqueId(), t1);
View Full Code Here

  private static final Logger s_logger = LoggerFactory.getLogger(DepGraphLateResolutionTest.class);

  public void backtrackCleanup() {
    final DepGraphTestHelper helper = helper();
    helper.addFunctionProducing(helper.getValue2Foo());
    final MockFunction fn2Bar = helper.addFunctionProducing(helper.getValue2Bar());
    final MockFunction fnConv = new MockFunction("conv", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement1Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target, Map<ValueSpecification, ValueRequirement> inputs) {
        s_logger.debug("fnConv late resolving with inputs {}", inputs);
        assertEquals(1, inputs.size());
        final ValueSpecification input = inputs.keySet().iterator().next();
        if (!input.getProperties().getValues("TEST").contains("Bar")) {
          return Collections.emptySet();
        }
        return super.getResults(context, target, inputs);
      }

    };
    fnConv.addRequirement(helper.getRequirement2Any());
    helper.getFunctionRepository().addFunction(fnConv);
    DependencyGraphBuilder builder = helper.createBuilder(new FunctionPriority() {
      @Override
      public int getPriority(CompiledFunctionDefinition function) {
        if (function == fnConv) {
View Full Code Here

    assertGraphContains(graph, fn2Bar, fnConv);
  }

  public void additionalRequirements() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1Foo = helper.addFunctionProducing(helper.getValue1Foo());
    final MockFunction fn2Bar = helper.addFunctionProducing(helper.getValue2Bar());
    final MockFunction fnConv = new MockFunction("conv", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement1Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueRequirement> getAdditionalRequirements(FunctionCompilationContext context, ComputationTarget target, Set<ValueSpecification> inputs, Set<ValueSpecification> outputs) {
        assertEquals(1, inputs.size());
        assertTrue(inputs.contains(helper.getSpec2Bar()));
        assertEquals(1, outputs.size());
        //final ValueSpecification expected = _result.compose(helper.getRequirement1Bar());
        //s_logger.debug("Outputs={}, expected={}", outputs, expected);
        //assertTrue(outputs.contains(expected));
        return Collections.singleton(helper.getRequirement1Foo());
      }

    };
    fnConv.addRequirement(helper.getRequirement2Any());
    helper.getFunctionRepository().addFunction(fnConv);
    DependencyGraphBuilder builder = helper.createBuilder(null);
    builder.addTarget(helper.getRequirement1Bar());
    DependencyGraph graph = builder.getDependencyGraph();
    assertNotNull(graph);
View Full Code Here

    assertGraphContains(graph, fn2Bar, fnConv, fn1Foo);
  }

  public void additionalRequirementBacktracking() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1Foo = helper.addFunctionProducing(helper.getValue1Foo());
    final MockFunction fn2Foo = helper.addFunctionProducing(helper.getValue2Foo());
    final MockFunction fn2Bar = helper.addFunctionProducing(helper.getValue2Bar());
    final MockFunction fnConv = new MockFunction("conv", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement1Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueRequirement> getAdditionalRequirements(FunctionCompilationContext context, ComputationTarget target, Set<ValueSpecification> inputs, Set<ValueSpecification> outputs) {
        if (inputs.contains(helper.getSpec2Foo())) {
          return Collections.singleton(helper.getRequirement2Beta());
        } else {
          return Collections.singleton(helper.getRequirement1Foo());
        }
      }

    };
    fnConv.addRequirement(helper.getRequirement2Any());
    helper.getFunctionRepository().addFunction(fnConv);
    DependencyGraphBuilder builder = helper.createBuilder(new FunctionPriority() {
      @Override
      public int getPriority(CompiledFunctionDefinition function) {
        if (function == fn2Foo) {
View Full Code Here

  private static final Logger s_logger = LoggerFactory.getLogger(DepGraphConversionTest.class);

  public void functionWithStaticConversion() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1 = helper.addFunctionProducing(helper.getValue1Foo());
    final MockFunction fnConv = new MockFunction(helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req2bar = helper.getRequirement2Bar();
        return Collections.singleton(new ValueSpecification(req2bar.getValueName(), target.toSpecification(), req2bar.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

    };
    fnConv.addRequirement(helper.getRequirement2Foo());
    helper.getFunctionRepository().addFunction(fnConv);
    final MockFunction fn2 = helper.addFunctionRequiringProducing(helper.getRequirement1Foo(), helper.getValue2Foo());
    DependencyGraphBuilder builder = helper.createBuilder(null);
    builder.addTarget(helper.getRequirement2Foo());
    DependencyGraph graph = builder.getDependencyGraph();
    assertNotNull(graph);
    graph.removeUnnecessaryValues();
View Full Code Here

    assertGraphContains(graph, fn1, fn2, fnConv);
  }

  public void functionWithDynamicConversionSingle() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1 = helper.addFunctionProducing(helper.getValue1Foo());
    final MockFunction fn2 = helper.addFunctionRequiringProducing(helper.getRequirement1Foo(), helper.getValue2Foo());
    final AtomicBoolean getResultsCalled = new AtomicBoolean();
    final MockFunction fnConv = new MockFunction(helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement2Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target, Map<ValueSpecification, ValueRequirement> inputs) {
        s_logger.debug("fnConv late resolving with inputs {}");
        getResultsCalled.set(true);
        return super.getResults(context, target, inputs);
      }

    };
    fnConv.addRequirement(helper.getRequirement2Any());
    helper.getFunctionRepository().addFunction(fnConv);
    DependencyGraphBuilder builder = helper.createBuilder(new FunctionPriority() {
      @Override
      public int getPriority(CompiledFunctionDefinition function) {
        if (function == fnConv) {
View Full Code Here

    assertTrue(getResultsCalled.get());
  }

  public void functionWithDynamicConversionTwoLevel() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1 = helper.addFunctionProducing(helper.getValue1Foo());
    // This converter will manipulate a value name but preserve a property; requiring late-stage property/constraint composition
    final MockFunction fnConv1 = new MockFunction("conv1", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement2Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target, Map<ValueSpecification, ValueRequirement> inputs) {
        s_logger.debug("fnConv1 late resolving with inputs {}", inputs);
        assertEquals(1, inputs.size());
        final ValueSpecification input = inputs.keySet().iterator().next();
        return Collections.singleton(new ValueSpecification(helper.getRequirement2().getValueName(), target.toSpecification(),
            ValueProperties.with(ValuePropertyNames.FUNCTION, getUniqueId()).with("TEST", input.getProperties().getValues("TEST")).get()));
      }

    };
    fnConv1.addRequirement(helper.getRequirement1Any());
    helper.getFunctionRepository().addFunction(fnConv1);
    // This converter will preserve the value name but manipulate a property; and be selected if a converter is needed on top
    // of fnConv1 after late-stage composition
    final MockFunction fnConv2 = new MockFunction("conv2", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement2Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target, Map<ValueSpecification, ValueRequirement> inputs) {
        s_logger.debug("fnConv2 late resolving with inputs {}", inputs);
        assertEquals(1, inputs.size());
        return super.getResults(context, target, inputs);
      }

    };
    fnConv2.addRequirement(helper.getRequirement2Any());
    helper.getFunctionRepository().addFunction(fnConv2);
    DependencyGraphBuilder builder = helper.createBuilder(new FunctionPriority() {
      @Override
      public int getPriority(CompiledFunctionDefinition function) {
        if (function == fnConv2) {
View Full Code Here

    assertTrue(nodes.get(fnConv2).getOutputValues().iterator().next().getProperties().getValues("TEST").contains("Bar"));
  }

  public void functionWithDynamicConversionDouble() {
    final DepGraphTestHelper helper = helper();
    final MockFunction fn1 = helper.addFunctionProducing(helper.getValue1Foo());
    final AtomicInteger getResultsInvoked = new AtomicInteger();
    final MockFunction fnConv = new MockFunction("conv", helper.getTarget()) {

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target) {
        final ValueRequirement req = helper.getRequirement2Any();
        return Collections.singleton(new ValueSpecification(req.getValueName(), target.toSpecification(), req.getConstraints().copy().with(ValuePropertyNames.FUNCTION, getUniqueId()).get()));
      }

      @Override
      public Set<ValueSpecification> getResults(FunctionCompilationContext context, ComputationTarget target, Map<ValueSpecification, ValueRequirement> inputs) {
        s_logger.debug("fnConv late resolving with inputs {}", inputs);
        assertEquals(1, inputs.size());
        getResultsInvoked.incrementAndGet();
        return super.getResults(context, target, inputs);
      }

    };
    fnConv.addRequirement(helper.getRequirement1Any());
    helper.getFunctionRepository().addFunction(fnConv);
    DependencyGraphBuilder builder = helper.createBuilder(null);
    builder.addTarget(helper.getRequirement2Foo());
    builder.addTarget(helper.getRequirement2Bar());
    DependencyGraph graph = builder.getDependencyGraph();
View Full Code Here

TOP

Related Classes of com.opengamma.engine.test.MockFunction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.