Package com.pugh.sockso.music

Source Code of com.pugh.sockso.music.CollectionTest

package com.pugh.sockso.music;

import com.pugh.sockso.db.Database;
import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.tests.TestDatabase;

import java.sql.SQLException;

public class CollectionTest extends SocksoTestCase {
   
    private Database db;
   
    @Override
    public void setUp() throws Exception {
        db = new TestDatabase();
        db.update( "insert into collection ( id, path ) values ( 1, '/foo/bar/' )" );
        db.update( "insert into collection ( id, path ) values ( 2, 'C:\\foo\\bar\\' )" );
    }

    public void testConstructors() {
        final int id = 123;
        final String path = "/home/me/music";
        assertNotNull( new Collection() );
        assertNotNull( new Collection(id,path) );
    }

    public void testGetters() {
        final int id = 123;
        final String path = "/home/me/music";
        final Collection col =  new Collection(id,path);
        assertEquals( id, col.getId() );
        assertEquals( path, col.getPath() );
    }

    public void testCollectionCanBeFetchedWhereItContainsAPath() throws SQLException {
        Collection c = Collection.findByPath( db, "/foo/bar/baz/" );
        assertEquals( 1, c.getId() );
    }
   
    public void testCollectionCanBeFetchedWhereItContainsAPathWithoutTrailingSlash() throws SQLException {
        Collection c = Collection.findByPathWithSeparator( db, "/foo/bar/baz", "/");
        assertEquals( 1, c.getId() );
    }
   
    public void testCollectionReturnedWhenPathMatchesRootWithoutTrailingSlash() throws SQLException {
        Collection c = Collection.findByPathWithSeparator( db, "/foo/bar", "/" );
        assertEquals( 1, c.getId() );
    }

    public void testCollectionReturnedWhenPathMatchesRootWithTrailingSlash() throws SQLException {
        Collection c = Collection.findByPath( db, "/foo/bar/" );
        assertEquals( 1, c.getId() );
    }

    public void testCollectionReturnedWhenPathMatchesRootWithWindowsPathAndTrailingSlash() throws SQLException {
        Collection c = Collection.findByPath( db, "C:\\foo\\bar\\" );
        assertEquals( 2, c.getId() );
    }

    public void testCollectionReturnedWhenPathMatchesRootWithWindowsPathAndNoTrailingSlash() throws SQLException {
        Collection c = Collection.findByPathWithSeparator( db, "C:\\foo\\bar", "\\" );
        assertEquals( 2, c.getId() );
    }

    public void testNullReturnedWhenTryingToFindACollectionByPathDoesntMatchAnything() throws SQLException {
        assertNull( Collection.findByPath( db, "/bar/baz" ) );
    }

}
TOP

Related Classes of com.pugh.sockso.music.CollectionTest

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.