// Path: filesystem-core/src/test/java/onl/area51/filesystem/CommonTestUtils.java
// public class CommonTestUtils
// {
// 
//     private static final List<String> BODY = Arrays.asList( "test\n" );
//     protected static final File BASE_FILE = new File( "target/filesystems" ).getAbsoluteFile();
//     protected static final Path BASE_PATH = BASE_FILE.toPath().toAbsolutePath();
// 
//     public static File getFile( String authority )
//     {
//         return new File( BASE_FILE, authority );
//     }
// 
//     public static void write( URI uri )
//             throws IOException
//     {
//         write( Paths.get( uri ) );
//     }
// 
//     public static void write( Path p )
//     {
//         try
//         {
//             Files.write( p, BODY, StandardOpenOption.CREATE, StandardOpenOption.WRITE );
//         } catch( IOException ex )
//         {
//             throw new UncheckedIOException( ex );
//         }
//     }
// 
//     public static void createFiles( Path parent, String prefix, int count )
//             throws IOException
//     {
//         createFiles( parent, prefix, count, ".txt" );
//     }
// 
//     public static void createFiles( Path parent, String prefix, int count, String suffix )
//             throws IOException
//     {
//         createFiles( parent, prefix, 0, count, suffix );
//     }
// 
//     public static void createFiles( Path parent, String prefix, int start, int end, String suffix )
//             throws IOException
//     {
//         IntStream.range( start, end )
//                 .mapToObj( i -> prefix + i + suffix )
//                 .map( parent::resolve )
//                 .forEach( CommonTestUtils::write );
//     }
// 
// }
// 
// Path: filesystem-core/src/test/java/onl/area51/filesystem/CommonTestUtils.java
// public static void write( URI uri )
//         throws IOException
// {
//     write( Paths.get( uri ) );
// }


import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.util.Collections;
import onl.area51.filesystem.CommonTestUtils;
import static onl.area51.filesystem.CommonTestUtils.write;
import org.junit.Assert;
import static org.junit.Assert.assertFalse;
import org.junit.Test;
/*
 * Copyright 2016 peter.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package onl.area51.filesystem.local;


/**
 * Test we can pass environment details via the URI's query parameters
 *
 * @author peter
 */
public class URITest
        extends CommonTestUtils
{

    @Test
    public void uri()
            throws IOException
    {
        String authority = "uri.tryresource";
        File delFS = getFile( authority );
        URI uri = URI.create( "cache://" + authority + "?deleteOnExit=true&baseDirectory=" + delFS.toString() );

        try( FileSystem fs = FileSystems.newFileSystem( uri, Collections.emptyMap() ) )
        {
// Path: filesystem-core/src/test/java/onl/area51/filesystem/CommonTestUtils.java
// public class CommonTestUtils
// {
// 
//     private static final List<String> BODY = Arrays.asList( "test\n" );
//     protected static final File BASE_FILE = new File( "target/filesystems" ).getAbsoluteFile();
//     protected static final Path BASE_PATH = BASE_FILE.toPath().toAbsolutePath();
// 
//     public static File getFile( String authority )
//     {
//         return new File( BASE_FILE, authority );
//     }
// 
//     public static void write( URI uri )
//             throws IOException
//     {
//         write( Paths.get( uri ) );
//     }
// 
//     public static void write( Path p )
//     {
//         try
//         {
//             Files.write( p, BODY, StandardOpenOption.CREATE, StandardOpenOption.WRITE );
//         } catch( IOException ex )
//         {
//             throw new UncheckedIOException( ex );
//         }
//     }
// 
//     public static void createFiles( Path parent, String prefix, int count )
//             throws IOException
//     {
//         createFiles( parent, prefix, count, ".txt" );
//     }
// 
//     public static void createFiles( Path parent, String prefix, int count, String suffix )
//             throws IOException
//     {
//         createFiles( parent, prefix, 0, count, suffix );
//     }
// 
//     public static void createFiles( Path parent, String prefix, int start, int end, String suffix )
//             throws IOException
//     {
//         IntStream.range( start, end )
//                 .mapToObj( i -> prefix + i + suffix )
//                 .map( parent::resolve )
//                 .forEach( CommonTestUtils::write );
//     }
// 
// }
// 
// Path: filesystem-core/src/test/java/onl/area51/filesystem/CommonTestUtils.java
// public static void write( URI uri )
//         throws IOException
// {
//     write( Paths.get( uri ) );
// }


// Path: filesystem-core/src/test/java/onl/area51/filesystem/local/URITest.java
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.util.Collections;
import onl.area51.filesystem.CommonTestUtils;
import static onl.area51.filesystem.CommonTestUtils.write;
import org.junit.Assert;
import static org.junit.Assert.assertFalse;
import org.junit.Test;

/*
 * Copyright 2016 peter.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package onl.area51.filesystem.local;


/**
 * Test we can pass environment details via the URI's query parameters
 *
 * @author peter
 */
public class URITest
        extends CommonTestUtils
{

    @Test
    public void uri()
            throws IOException
    {
        String authority = "uri.tryresource";
        File delFS = getFile( authority );
        URI uri = URI.create( "cache://" + authority + "?deleteOnExit=true&baseDirectory=" + delFS.toString() );

        try( FileSystem fs = FileSystems.newFileSystem( uri, Collections.emptyMap() ) )
        {
            write( fs.getPath( "/file1.txt" ) );