import java.util.Set;
import java.util.TreeSet;
import java.util.Scanner;
import java.io.File;

/**
 * Class that stores a Dictionary of words.
 *   @author Dave Reed
 *   @version 1/10/17
 */
public class Dictionary {
    private Set<String> words;
    
    public Dictionary() {
        this.words = new TreeSet<String>();
    }
    
    public Dictionary(String filename) {
        this();

        try {
            Scanner infile = new Scanner(new File(filename));
            while (infile.hasNext()) {
                String nextWord = infile.next();
                this.add(nextWord);
            }
            infile.close();
        }
        catch (java.io.FileNotFoundException e) {
            System.out.println("FILE NOT FOUND");
        }
    }
    
    public void add(String newWord) {
        this.words.add(newWord.toLowerCase());
    }
    
    public void remove(String oldWord) {
        this.words.remove(oldWord.toLowerCase());
    }
    
    public boolean contains(String testWord) {
        return this.words.contains(testWord.toLowerCase());
    }
    
    ////////////////////////////////////////////////////////
    
    public static void main(String[] args) {
    	Dictionary dict = new Dictionary();
    	dict.add("foo");
    	dict.add("bar");
    	dict.add("bizbaz");
    	System.out.println(dict.contains("bar"));
    	System.out.println(dict.contains("boo"));
    }
}
