package org.ovirt.engine.core.searchbackend; import java.util.Arrays; import junit.framework.TestCase; public class SyntaxCheckerTest extends TestCase { public void dumpCompletionArray(SyntaxContainer res) { System.out.print("["); for (String item : res.getCompletionArray()) { System.out.print(" " + item); } System.out.print("]"); } public boolean contains(SyntaxContainer res, String item) { boolean returnValue = Arrays.asList(res.getCompletionArray()).contains(item); if (!returnValue) { this.dumpCompletionArray(res); } return returnValue; } /** * Test the following where each word should be the completion for the earlier portion Vms : Events = */ public void testVMCompletion() { SyntaxChecker chkr = new SyntaxChecker(20, true); SyntaxContainer res = null; res = chkr.getCompletion(""); assertTrue("Vms", contains(res, "Vms")); res = chkr.getCompletion("V"); assertTrue("Vms2", contains(res, "Vms")); res = chkr.getCompletion("Vms"); assertTrue(":", contains(res, ":")); res = chkr.getCompletion("Vms : "); assertTrue("Events", contains(res, "Events")); res = chkr.getCompletion("Vms : Events"); assertTrue("=", contains(res, "=")); } /** * Test the following where each word should be the completion for the earlier portion Host : sortby migrating_vms * asc */ public void testHostCompletion() { SyntaxChecker chkr = new SyntaxChecker(20, true); SyntaxContainer res = null; res = chkr.getCompletion(""); this.dumpCompletionArray(res); assertTrue("Hosts", contains(res, "Hosts")); res = chkr.getCompletion("H"); assertTrue("Hots2", contains(res, "Hosts")); res = chkr.getCompletion("Host"); assertTrue(":", contains(res, ":")); res = chkr.getCompletion("Host : "); assertTrue("sortby", contains(res, "sortby")); res = chkr.getCompletion("Host : sortby"); assertTrue("migrating_vms", contains(res, "migrating_vms")); res = chkr.getCompletion("Host : sortby migrating_vms"); assertTrue("asc", contains(res, "asc")); } }