
/**
 * Write a description of class TestMusicOrganizer here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class TestMusicOrganizer
{
    
    public static void runStuff() {
        MusicOrganizer mo = new MusicOrganizer();
        mo.addFile("First");
        mo.addFile("Second");
        mo.addFile("Third");
        mo.addFile("Fourth");
        mo.listAllFiles();
    }
    
    public static void testGetNumberOfFiles() {
        MusicOrganizer mo = new MusicOrganizer();
        System.out.println("Empty size is "+mo.getNumberOfFiles());
        mo.addFile("First");
        mo.addFile("Second");
        System.out.println("After adding 2 files: "+mo.getNumberOfFiles());
    }
    
    public static void testAddFile() {
        MusicOrganizer mo = new MusicOrganizer();
        mo.addFile("First");
        mo.addFile("Second");
        System.out.println("After adding 2 files: "+mo.getNumberOfFiles());
    }
    
    public static void testListFile() {
        MusicOrganizer mo = new MusicOrganizer();
        mo.addFile("First");
        mo.addFile("Second");
        mo.addFile("Third");
        mo.addFile("Fourth");
        System.out.println("Non-existent files. Should print nothing");
        mo.listFile(-3);
        mo.listFile(300);
        System.out.println("Should list the 4 real files:");
        mo.listFile(0);
        mo.listFile(1);
        mo.listFile(2);
        mo.listFile(3);
    }
    
    public static void testRemoveFile() {
        MusicOrganizer mo = new MusicOrganizer();
        mo.addFile("First");
        mo.addFile("Second");
        mo.addFile("Third");
        mo.addFile("Fourth");
        
        System.out.println("Should not do anything on Non-existent files.");
        mo.removeFile(-3);
        mo.removeFile(300);
        System.out.println("Should list the 4 real files:");
        mo.listFile(0);
        mo.listFile(1);
        mo.listFile(2);
        mo.listFile(3);
        
        System.out.println("Removing file at index 1. First, Third, and Fourth should remain.");
        mo.removeFile(1);
        mo.listFile(0);
        mo.listFile(1);
        mo.listFile(2);
        System.out.println("There should be 3 files left. There are "+mo.getNumberOfFiles());
        
        System.out.println("Removing remaining files");
        mo.removeFile(0);
        mo.removeFile(0);
        mo.removeFile(0);
        System.out.println("There should be 0 files left and there are "+mo.getNumberOfFiles());
        
    }
}