/* * File: FileUtilTest.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright July 12, 2007, 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.io; import gov.sandia.cognition.collection.CollectionUtil; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.LinkedList; import junit.framework.TestCase; /** * This class implements JUnit tests for the following classes: FileUtil * * @author Justin Basilico * @since 2.0 */ public class FileUtilTest extends TestCase { /** * Constructors */ public void testConstructors() { System.out.println( "Constructors" ); FileUtil f = new FileUtil(); assertNotNull( f ); } /** * Test of getExtension method, of class gov.sandia.cognition.io.FileUtil. */ public void testGetExtension() { assertEquals("txt", FileUtil.getExtension("test.txt")); assertEquals("TXT", FileUtil.getExtension("test.TXT")); assertNull(FileUtil.getExtension("test")); assertEquals("Periods", FileUtil .getExtension("this.is.a.lot.of.Periods")); assertEquals("txt", FileUtil.getExtension(new File("test.txt"))); boolean exceptionThrown = false; try { FileUtil.getExtension((String) null); } catch (final NullPointerException e) { exceptionThrown = true; } finally { assertTrue(exceptionThrown); } assertNull( FileUtil.getExtension("noextension") ); } /** * Test of removeExtension method, of class * gov.sandia.cognition.io.FileUtil. */ public void testRemoveExtension() { assertEquals("test", FileUtil.removeExtension("test.txt")); assertEquals("test", FileUtil.removeExtension("test.TXT")); assertEquals("Test", FileUtil.removeExtension("Test")); assertEquals("this.is.a.lot.of", FileUtil .removeExtension("this.is.a.lot.of.periods")); boolean exceptionThrown = false; try { FileUtil.removeExtension((String) null); } catch (final NullPointerException e) { exceptionThrown = true; } finally { assertTrue(exceptionThrown); } } /** * Test of couldWrite */ public void testCouldWrite() { System.out.println( "couldWrite" ); assertFalse( FileUtil.couldWrite(null) ); assertFalse( FileUtil.couldWrite(new File( "testingWrite.txt" )) ); FileUtil.couldWrite( new File( "/testingWrite.txt" ) ); } /** * readFile */ public void testReadFile() throws IOException { System.out.println( "readFile" ); File file = File.createTempFile("REMOVE.FileUtilTest", "txt" ); Writer writer = new FileWriter(file); String[] tokens = { "This", "is", "a", "test" }; for( int i = 0; i < tokens.length; i++ ) { writer.write( tokens[i] ); if( i < tokens.length-1 ) { writer.write( "," ); } } writer.close(); LinkedList<String[]> result = CSVUtility.readFile(file.getAbsolutePath()); assertEquals( 1, result.size() ); String[] resultTokens = result.get(0); assertEquals( tokens.length, resultTokens.length ); for( int i = 0; i < tokens.length; i++ ) { assertEquals( tokens[i], resultTokens[i] ); } } }