Package com.opengamma.engine.calcnode

Source Code of com.opengamma.engine.calcnode.CalculationJobSpecificationTest

/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.calcnode;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertTrue;

import org.fudgemsg.FudgeContext;
import org.fudgemsg.FudgeMsg;
import org.fudgemsg.MutableFudgeMsg;
import org.fudgemsg.mapping.FudgeDeserializer;
import org.fudgemsg.mapping.FudgeSerializer;
import org.testng.annotations.Test;
import org.threeten.bp.Instant;

import com.opengamma.engine.calcnode.CalculationJobSpecification;
import com.opengamma.id.UniqueId;
import com.opengamma.util.fudgemsg.OpenGammaFudgeContext;
import com.opengamma.util.test.TestGroup;

/**
*
*/
@Test(groups = TestGroup.UNIT)
public class CalculationJobSpecificationTest {
 
  public void testHashCode() {
    Instant valuationTime = Instant.now();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    CalculationJobSpecification spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
   
    assertEquals(spec1.hashCode(), spec2.hashCode());
   
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle2"), "config", valuationTime, 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config2", valuationTime, 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime.plusMillis(1), 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime, 2L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
  }

  public void testEquals() {
    Instant valuationTime = Instant.now();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    assertTrue(spec1.equals(spec1));
    assertFalse(spec1.equals(null));
    assertFalse(spec1.equals("Kirk"));
    CalculationJobSpecification spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    assertTrue(spec1.equals(spec2));
   
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle2"), "config", valuationTime, 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config2", valuationTime, 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime.plusMillis(1), 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime, 2L);
    assertFalse(spec1.equals(spec2));
  }
 
  public void fudgeEncoding() {
    FudgeContext context = OpenGammaFudgeContext.getInstance();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", Instant.now(), 1L);
    FudgeSerializer serializationContext = new FudgeSerializer(context);
    MutableFudgeMsg inMsg = serializationContext.objectToFudgeMsg(spec1);
    FudgeMsg outMsg = context.deserialize(context.toByteArray(inMsg)).getMessage();
    FudgeDeserializer deserializationContext = new FudgeDeserializer(context);
    CalculationJobSpecification spec2 = deserializationContext.fudgeMsgToObject(CalculationJobSpecification.class, outMsg);
    assertEquals(spec1, spec2);
  }

}
TOP

Related Classes of com.opengamma.engine.calcnode.CalculationJobSpecificationTest

TOP
Copyright © 2018 www.massapi.com. 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.