// Path: analyzer/src/main/java/com/novoda/sqlite/model/Database.java
// public final class Database {
// 	private final List<Table> tables = new ArrayList<Table>();
// 
// 	public void addTable(Table table) {
// 		tables.add(table);
// 	}
// 
// 	public Collection<Table> getTables() {
// 		return Collections.unmodifiableCollection(tables);
// 	}
// 
//     public Table findTableByName(String tableName) {
//         for (Table table : tables)
//             if (table.getName().equalsIgnoreCase(tableName)) {
//                 return table;
//             }
//         return null;
//     }
// 
// }
// 
// Path: analyzer/src/main/java/com/novoda/sqlite/model/Table.java
// public final class Table {
//     private final String name;
//     private final List<Column> columns = new ArrayList<Column>();
//     private final String sql;
//     private final boolean isView;
//     private final List<Table> dependents = new ArrayList<Table>();
// 
//     public Table(String name, String sql, boolean isView) {
//         this.name = name;
//         this.sql = sql;
//         this.isView = isView;
//     }
// 
//     public boolean isView() {
//         return isView;
//     }
// 
//     public void addColumn(Column column) {
//         columns.add(column);
//     }
// 
//     public Column findColumnByName(String name) {
//         for (Column column : columns) {
//             if (column.getName().equalsIgnoreCase(name))
//                 return column;
//         }
//         return null;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getSql() {
//         return sql;
//     }
// 
//     public Collection<Column> getColumns() {
//         return Collections.unmodifiableCollection(columns);
//     }
// 
//     public void addDependent(Table table) {
//         dependents.add(table);
//     }
// 
//     public Collection<Table> getDependents() {
//         return Collections.unmodifiableCollection(dependents);
//     }
// 
//     @Override
//     public String toString() {
//         return "Table{" +
//                 "name='" + name + '\'' +
//                 '}';
//     }
// }


import com.novoda.sqlite.model.Database;
import com.novoda.sqlite.model.Table;
import java.io.File;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
package com.novoda.sqlite;





public class AnalyzerTest {

    private Analyzer analyzer;

    @Before
    public void setUp() throws Exception {
// Path: analyzer/src/main/java/com/novoda/sqlite/model/Database.java
// public final class Database {
// 	private final List<Table> tables = new ArrayList<Table>();
// 
// 	public void addTable(Table table) {
// 		tables.add(table);
// 	}
// 
// 	public Collection<Table> getTables() {
// 		return Collections.unmodifiableCollection(tables);
// 	}
// 
//     public Table findTableByName(String tableName) {
//         for (Table table : tables)
//             if (table.getName().equalsIgnoreCase(tableName)) {
//                 return table;
//             }
//         return null;
//     }
// 
// }
// 
// Path: analyzer/src/main/java/com/novoda/sqlite/model/Table.java
// public final class Table {
//     private final String name;
//     private final List<Column> columns = new ArrayList<Column>();
//     private final String sql;
//     private final boolean isView;
//     private final List<Table> dependents = new ArrayList<Table>();
// 
//     public Table(String name, String sql, boolean isView) {
//         this.name = name;
//         this.sql = sql;
//         this.isView = isView;
//     }
// 
//     public boolean isView() {
//         return isView;
//     }
// 
//     public void addColumn(Column column) {
//         columns.add(column);
//     }
// 
//     public Column findColumnByName(String name) {
//         for (Column column : columns) {
//             if (column.getName().equalsIgnoreCase(name))
//                 return column;
//         }
//         return null;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public String getSql() {
//         return sql;
//     }
// 
//     public Collection<Column> getColumns() {
//         return Collections.unmodifiableCollection(columns);
//     }
// 
//     public void addDependent(Table table) {
//         dependents.add(table);
//     }
// 
//     public Collection<Table> getDependents() {
//         return Collections.unmodifiableCollection(dependents);
//     }
// 
//     @Override
//     public String toString() {
//         return "Table{" +
//                 "name='" + name + '\'' +
//                 '}';
//     }
// }


// Path: analyzer/src/test/java/com/novoda/sqlite/AnalyzerTest.java
import com.novoda.sqlite.model.Database;
import com.novoda.sqlite.model.Table;
import java.io.File;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

package com.novoda.sqlite;





public class AnalyzerTest {

    private Analyzer analyzer;

    @Before
    public void setUp() throws Exception {
        String migrationsDir = MigrationsInDir.class.getResource("/migrations").getFile();