package jp.hrtdotnet.java.io;

import java.io.File;
import java.io.IOException;

import jp.hrtdotnet.java.HTestCase;

public class HDirectoryTest extends HTestCase {

    /* (非 Javadoc)
     * @see junit.framework.TestCase#setUp()
     */
    protected void setUp() throws Exception {
        super.setUp();
    }

    /* (非 Javadoc)
     * @see junit.framework.TestCase#tearDown()
     */
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    /**
     * {@link jp.hrtdotnet.java.io.HDirectory#createNewFile()} のためのテスト・メソッド。
     */
    public void testCreateNewFile() {
        //不要
    }

    /**
     * {@link jp.hrtdotnet.java.io.HDirectory#HDirectory(java.lang.String)} のためのテスト・メソッド。
     * @throws IOException 
     */
    public void testHDirectory() throws IOException {
        String tmp = System.getProperty("java.io.tmpdir");
        File f = new File(tmp + "file");
        if (f.exists() && f.isDirectory()) {
            throw new RuntimeException();
        }
        if (!f.exists()) {
            f.createNewFile();
        }
        
        new HDirectory(tmp);

        try {
            new HDirectory(tmp + ".");
            fail();
        } catch (IOException e) {
        }

        try {
            new HDirectory(tmp + "file");
            fail();
        } catch (IOException e) {
        }
    }

    /**
     * {@link jp.hrtdotnet.java.io.HDirectory#checkDirectoryName(java.lang.String)} のためのテスト・メソッド。
     */
    public void testCheckDirectoryName() {
        assertTrue(HDirectory.checkDirectoryName("C:\\dir"));
        assertTrue(HDirectory.checkDirectoryName("/home/user"));
    }
}
