/******************************************************************************
* Copyright (C) 2006-2012 IFS Institute for Software and others
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Original authors:
* Dennis Hunziker
* Ueli Kistler
* Contributors:
* Fabio Zadrozny <fabiofz@gmail.com> - initial implementation
******************************************************************************/
/*
* Copyright (C) 2006, 2007 Dennis Hunziker, Ueli Kistler
*/
package org.python.pydev.refactoring.tests.visitors;
import java.util.Iterator;
import org.eclipse.jface.text.Document;
import org.python.pydev.refactoring.ast.adapters.IClassDefAdapter;
import org.python.pydev.refactoring.ast.adapters.ModuleAdapter;
import org.python.pydev.refactoring.ast.visitors.VisitorFactory;
import org.python.pydev.refactoring.ast.visitors.context.ClassDefVisitor;
import org.python.pydev.refactoring.tests.adapter.PythonNatureStub;
import org.python.pydev.refactoring.tests.core.AbstractIOTestCase;
/**
* @author Ueli Kistler
*/
public class ClassVisitorTestCase extends AbstractIOTestCase {
public ClassVisitorTestCase(String name) {
super(name);
}
@Override
public void runTest() throws Throwable {
StringBuffer buffer = new StringBuffer();
ModuleAdapter module = VisitorFactory.createModuleAdapter(null, null, new Document(data.source),
new PythonNatureStub(), createVersionProvider());
ClassDefVisitor visitor = VisitorFactory.createContextVisitor(ClassDefVisitor.class, module.getASTNode(),
module, module);
Iterator<IClassDefAdapter> iter = visitor.iterator();
buffer.append("# " + visitor.getAll().size() + "\n");
while (iter.hasNext()) {
IClassDefAdapter adapter = iter.next();
buffer.append("# " + adapter.getName() + " " + adapter.isNested() + "\n");
}
this.setTestGenerated(buffer.toString().trim());
assertEquals(3, visitor.getAll().size());
assertEquals(getExpected(), getGenerated());
}
}