/*
* File: SerializedModelHandlerTest.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Framework Lite
*
* Copyright July 18, 2006, Sandia Corporation. Under the terms of Contract
* DE-AC04-94AL85000, there is a non-exclusive license for use of this work by
* or on behalf of the U.S. Government. Export of this program may require a
* license from the United States Government. See CopyrightHistory.txt for
* complete details.
*
*
*/
package gov.sandia.cognition.framework.io;
import gov.sandia.cognition.framework.CognitiveModel;
import gov.sandia.cognition.framework.CognitiveModelFactory;
import gov.sandia.cognition.io.CSVParseException;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import junit.framework.TestCase;
/**
* Unit tests for SerializedModelHandlerTest
*
* @author Kevin R. Dixon
* @since 1.0
*/
public class SerializedModelHandlerTest extends TestCase
{
private String baseDir;
public SerializedModelHandlerTest()
{
final URL baseURL = this.getClass().getClassLoader().getResource("gov/sandia/cognition/framework/io/testModel.csv");
this.baseDir = new File(baseURL.getFile()).getParent() + "/";
}
@Override
protected void setUp() throws Exception
{
}
@Override
protected void tearDown() throws Exception
{
}
public CognitiveModel createTestModel() throws CSVParseException,
IOException
{
final String fileName = baseDir + "testModel.csv";
final CognitiveModelFactory factory = CSVDefaultCognitiveModelLiteHandler
.parseCSVToModelFactory(fileName, false);
return factory.createModel();
}
/**
* Test of readObjectFromFile method, of class
* gov.sandia.isrc.cognition.io.SerializedModelHandler.
*/
public void testReadObjectFromFile() throws Exception
{
final String fileName = baseDir + "testModel.jcm";
final CognitiveModel outputModel = createTestModel();
SerializedModelHandler.writeModelToFile(fileName, outputModel);
final Object inputObject = SerializedModelHandler
.readObjectFromFile(new File(fileName));
assertNotNull(inputObject);
assertTrue(inputObject instanceof CognitiveModel);
assertNotSame(inputObject, outputModel);
}
/**
* Test of readModelFromFile method, of class
* gov.sandia.isrc.cognition.io.SerializedModelHandler.
*/
public void testReadModelFromFile() throws Exception
{
final String fileName = baseDir + "testModel.jcm";
final CognitiveModel outputModel = createTestModel();
SerializedModelHandler.writeModelToFile(fileName, outputModel);
final CognitiveModel inputModel = SerializedModelHandler
.readModelFromFile(fileName);
assertNotNull(inputModel);
assertNotSame(inputModel, outputModel);
}
/**
* Test of writeModelToFile method, of class
* gov.sandia.isrc.cognition.io.SerializedModelHandler.
*/
public void testWriteModelToFile() throws Exception
{
System.out.println("writeModelToFile");
final String fileName = baseDir + "testModel.jcm";
final CognitiveModel model = createTestModel();
SerializedModelHandler.writeModelToFile(fileName, model);
}
}