import java.util.ArrayList;


public class Theater {
	private ArrayList<Movie> movies;
	private String name;
	
	public String getName() {
		return this.name;
	}
	
	public Theater(String name) {
		this.name = name;
		this.movies = new ArrayList<Movie>();
	}
	
	public void addMovie(Movie m) {
		if (!this.isShowing(m)) {
			this.movies.add(m);
			m.addTheater(this);
		}
		// else base case: don't call addTheater
	}
	public void removeMovie(Movie m) {
		if (this.isShowing(m)) {
			this.movies.remove(m);
			m.removeTheater(this);
		}
	}
	public boolean isShowing(Movie m) {
		if (this.movies.contains(m)) {
			return true;
		} else {
			return false;
		}
//		return this.movies.contains(m);
	}
	public String toString() {
		String ans = this.name + " showing ";
		for(int i = 0; i < this.movies.size(); i+=1) {
			Movie m = this.movies.get(i);
			ans += m.getName() + ", ";
		}
		return ans; 
	}
}
