package org.python.pydev.editor.codecompletion; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.text.contentassist.IContextInformation; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import junit.framework.TestCase; public class ProposalsComparatorTest extends TestCase { private static class Dummy1 implements ICompletionProposal { private String string; public Dummy1(String string) { this.string = string; } @Override public void apply(IDocument document) { } @Override public Point getSelection(IDocument document) { return null; } @Override public String getAdditionalProposalInfo() { return null; } @Override public String getDisplayString() { return this.string; } @Override public Image getImage() { return null; } @Override public IContextInformation getContextInformation() { return null; } } public void testProposalsComparator() { ProposalsComparator proposalsComparator = new ProposalsComparator("foo", null); // alphabetical (ignore case) assertEquals(1, proposalsComparator.compare(new Dummy1("bar"), new Dummy1("aBar"))); assertEquals(-1, proposalsComparator.compare(new Dummy1("abar"), new Dummy1("Bar"))); // _ is always the last assertEquals(1, proposalsComparator.compare(new Dummy1("_bar"), new Dummy1("abar"))); assertEquals(-1, proposalsComparator.compare(new Dummy1("Zbar"), new Dummy1("_bar"))); } }