⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assistcreateinmoduletest.java

📁 Python Development Environment (Python IDE plugin for Eclipse). Features editor, code completion, re
💻 JAVA
字号:
/*
 * Created on Apr 12, 2005
 *
 * @author Fabio Zadrozny
 */
package org.python.pydev.editor.correctionassist.heuristics;


import org.python.pydev.editor.codecompletion.revisited.CodeCompletionTestsBase;

/**
 * Might be useful when a decent implementation is given
 * 
 * @author Fabio Zadrozny
 */
public class AssistCreateInModuleTest extends CodeCompletionTestsBase{

    private IAssistProps assist;

    public static void main(String[] args) {
        junit.textui.TestRunner.run(AssistCreateInModuleTest.class);
    }

//    /*
//     * @see TestCase#setUp()
//     */
//    protected void setUp() throws Exception {
//        super.setUp();
//        restorePythonPath(false);
//    }
//
//    /*
//     * @see TestCase#tearDown()
//     */
//    protected void tearDown() throws Exception {
//        super.tearDown();
//    }
//
//    /**
//     * @throws BadLocationException
//     * 
//     */
//    public void testAssistMethod() throws BadLocationException {
//        assist = new AssistCreateMethodInModule();
//		String d = ""+
//		"from testAssist import assist\n" +
//		"assist.NewMethod(a,b)";
//
//		String res = "\n" +
//		"def NewMethod(a,b):\n" +
//		"    '''\n"+
//		"    @param a:\n"+
//		"    @param b:\n"+
//		"    '''\n"+
//		"    ";
//
//		checkCreateMethod(d, res, "testAssist.assist", true, -1, "NewMethod");
//
//		d = ""+
//		"from testAssist import assist\n" +
//		"NewMethod(a,b)";
//		checkCreateMethod(d, res, "", true, -1, "NewMethod");
//
//		d = ""+
//		"class NewClass(object): \n" +
//		"                        \n" +
//		"   def NewMethod(a,b):  \n" +
//		"        pass            \n";
//		checkCreateMethod(d, res, "", false, 0, "");
//		checkCreateMethod(d, res, "", false, 2, "");
//    }
//
//    
//    /**
//     * @param docStr
//     * @param res
//     * @param moduleName
//     * @param isValid
//     * @param line: offset is set to the end of the passed line
//     * @throws BadLocationException
//     */
//    private void checkCreateMethod(String docStr, String res, String moduleName, boolean isValid, int line, String tok) throws BadLocationException {
//        Document doc = new Document(docStr);
//        
//		int offset = 0;
//		if (line == -1){
//		    offset = docStr.length();
//		}else{
//		    IRegion lineInformation = doc.getLineInformation(line);
//		    offset = lineInformation.getOffset() + lineInformation.getLength();
//		}
//		
//        PySelection ps = new PySelection(doc, new TextSelection(doc, offset, 0));
//        String sel = PyAction.getLineWithoutComments(ps);
//
//        assertEquals(isValid, assist.isValid(ps, sel, null, offset));
//        if(isValid){
//			List props = assist.getProps(ps, null, null, nature, null, offset);
//			assertEquals(1, props.size());
//			SourceModuleProposal p = (SourceModuleProposal) props.get(0);
//			
//			
//			assertEquals(res, p.getReplacementStr());
//	        assertEquals(moduleName, p.module.getName());
//	        assertTrue(p.getDisplayString().indexOf(tok) != -1);
//        }
//    }
//
//
//    /**
//     * @throws BadLocationException
//     * 
//     */
//    public void testAssistClass() throws BadLocationException {
//		String docStr = ""+
//		"from testAssist import assist\n" +
//		"assist.NewClass(a,b)";
//		String moduleName = "testAssist.assist";
//		int nProps = 1;
//		assist = new AssistCreateClassInModule();
//		checkAssistClass(docStr, moduleName, nProps,-1,0, "NewClass", true);
//		
//
//		nProps = 1;
//		moduleName = "";
//		docStr = ""+
//		"from testAssist import assist\n" +
//		"newClass = NewClass(a,b)";
//		checkAssistClass(docStr, moduleName, nProps,-1,0, "NewClass", true);
//
//		docStr = ""+
//		"from testAssist import assist\n" +
//		"newClass = NewClass()";
//		checkAssistClass(docStr, moduleName, nProps,-1,0, "NewClass", false);
//
//		//same as before... different sel
//		docStr = ""+
//		"from testAssist import assist\n" + //30 chars
//		"assist.Ignore(NewClass(a,b))   ";  //from 14 to +13  
//		checkAssistClass(docStr, moduleName, nProps,30+14,13, "NewClass", true);
//    }
//
//    /**
//     * @param docStr
//     * @param moduleName
//     * @param nProps
//     * @param t
//     * @throws BadLocationException
//     */
//    private void checkAssistClass(String docStr, String moduleName, int nProps, int selStart, int selLength, String tok, boolean hasParams) throws BadLocationException {
//        if (selStart == -1)
//            selStart = docStr.length();
//        Document doc = new Document(docStr);
//		PySelection ps = new PySelection(doc, new TextSelection(doc, selStart, selLength));
//        String sel = PyAction.getLineWithoutComments(ps);
//
//		assertEquals(true, assist.isValid(ps, sel, null, selStart));
//		List props = assist.getProps(ps, null, null, nature, null, selStart);
//        assertEquals(nProps, props.size());
//		SourceModuleProposal p = (SourceModuleProposal) props.get(0);
//		
//		String res = "\n" +
//		"class NewClass(object):\n" +
//		"    '''\n"+
//		"    '''\n"+
//		"    \n";
//		
//		if (hasParams){
//		    res += ""+
//			"    def __init__(self, a, b):\n"+
//			"        '''\n"+
//			"        @param a:\n"+
//			"        @param b:\n"+
//			"        '''\n"+
//			"        ";
//		}
//		
//		assertEquals(res, p.getReplacementStr());
//        assertEquals(moduleName, p.module.getName());
//        assertTrue(p.getDisplayString().indexOf(tok) != -1);
//    }
//
//    /**
//     * @throws BadLocationException
//     * 
//     */
//    public void testAssistMethodInClass() throws BadLocationException {
//        assist = new AssistCreateMethodInClass();
//		String d = ""+
//		"from testAssist import assist\n" +
//		"ex = assist.ExistingClass()\n" +
//		"ex.newMethod(c,d)";
//
//		Document doc = new Document(d);
//		PySelection ps = new PySelection(doc, new TextSelection(doc, d.length(), 0));
//        String sel = PyAction.getLineWithoutComments(ps);
//
//		assertEquals(true, assist.isValid(ps, sel, null, d.length()));
//		List props = assist.getProps(ps, null, null, nature, null, d.length());
//		assertEquals(1, props.size());
//		SourceModuleProposal p = (SourceModuleProposal) props.get(0);
//		
//		String res = "\n" +
//		"    def newMethod(self, c, d):\n"+
//		"        '''\n"+
//		"        @param c:\n"+
//		"        @param d:\n"+
//		"        '''\n"+
//		"        ";
//		assertEquals(res, p.getReplacementStr());
//		assertEquals("testAssist.assist", p.module.getName());
//		assertEquals("ExistingClass", p.definition.value);
//		assertEquals(SourceModuleProposal.ADD_TO_LAST_CLASS_LINE, p.addTo);
//        assertTrue(p.getDisplayString().indexOf("newMethod") != -1);
//    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -