// Path: src/cn/com/jautoitx/Mouse.java
// public static enum MouseButton {
// 	LEFT("left"),
// 
// 	RIGHT("right"),
// 
// 	MIDDLE("middle"),
// 
// 	MAIN("main"),
// 
// 	MENU("menu"),
// 
// 	PRIMARY("primary"),
// 
// 	SECONDARY("secondary");
// 
// 	private final String button;
// 
// 	private MouseButton(final String button) {
// 		this.button = button;
// 	}
// 
// 	public String getButton() {
// 		return button;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return button;
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum CoordMode {
// 	/* relative coords to the active window */
// 	RELATIVE_TO_ACTIVE_WINDOW(0),
// 
// 	/* absolute screen coordinates (default) */
// 	ABSOLUTE_SCREEN_COORDINATES(1),
// 
// 	/* relative coords to the client area of the active window */
// 	RELATIVE_TO_CLIENT_AREA_OF_ACTIVE_WINDOW(2);
// 
// 	private final int coordMode;
// 
// 	private CoordMode(final int coordMode) {
// 		this.coordMode = coordMode;
// 	}
// 
// 	public int getCoordMode() {
// 		return coordMode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case RELATIVE_TO_ACTIVE_WINDOW:
// 			return "relative coords to the active window";
// 		case ABSOLUTE_SCREEN_COORDINATES:
// 			return "absolute screen coordinates";
// 		case RELATIVE_TO_CLIENT_AREA_OF_ACTIVE_WINDOW:
// 			return "relative coords to the client area of the active window";
// 		default:
// 			return "Unknown coord mode";
// 		}
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum WinTextMatchMode {
// 	/* Complete / Slow mode (default) */
// 	SLOW(1),
// 
// 	/* Quick mode */
// 	QUICK(2);
// 
// 	private final int mode;
// 
// 	private WinTextMatchMode(final int mode) {
// 		this.mode = mode;
// 	}
// 
// 	public int getMode() {
// 		return mode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case SLOW:
// 			return "Complete / Slow mode";
// 		case QUICK:
// 			return "Quick mode";
// 		default:
// 			return "Unknown win text match mode";
// 		}
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum WinTitleMatchMode {
// 	/* Match the title from the start (default) */
// 	START(1),
// 
// 	/* Match any substring in the title */
// 	ANY(2),
// 
// 	/* Exact title match */
// 	EXACT(3),
// 
// 	/*
// 	 * Advanced mode, kept for backward compatibility, must be replaced with
// 	 * Advanced Window Descriptions which does not need any mode to be set
// 	 */
// 	ADVANCED(4);
// 
// 	private final int mode;
// 
// 	private WinTitleMatchMode(final int mode) {
// 		this.mode = mode;
// 	}
// 
// 	public int getMode() {
// 		return mode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case START:
// 			return "Match the title from the start";
// 		case ANY:
// 			return "Match any substring in the title";
// 		case EXACT:
// 			return "Exact title match";
// 		case ADVANCED:
// 			return "Advanced mode";
// 		default:
// 			return "Unknown win title match mode";
// 		}
// 	}
// }


import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import javax.swing.JFrame;
import javax.swing.JTextField;
import org.junit.Assert;
import org.junit.Test;
import org.omg.CORBA.LongHolder;
import cn.com.jautoitx.Mouse.MouseButton;
import cn.com.jautoitx.Opt.CoordMode;
import cn.com.jautoitx.Opt.WinTextMatchMode;
import cn.com.jautoitx.Opt.WinTitleMatchMode;

			Assert.assertFalse(Opt.setWinSearchChildren(true));
		} finally {
			// restore default win search childrenOpt
			Opt.setWinSearchChildren(Opt.DEFAULT_WIN_SEARCH_CHILDREN);
		}
	}

	@Test
	public void setWinTextMatchMode() {
		try {
			Assert.assertEquals(Opt.DEFAULT_WIN_TEXT_MATCH_MODE,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
			Assert.assertEquals(WinTextMatchMode.SLOW,
					Opt.setWinTextMatchMode(WinTextMatchMode.QUICK));
			Assert.assertEquals(WinTextMatchMode.QUICK,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
			Assert.assertEquals(WinTextMatchMode.SLOW,
					Opt.setWinTextMatchMode(WinTextMatchMode.QUICK));
			Assert.assertEquals(WinTextMatchMode.QUICK,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
		} finally {
			// restore default win text match mode
			Opt.setWinTextMatchMode(Opt.DEFAULT_WIN_TEXT_MATCH_MODE);
		}
	}

	@Test
	public void setWinTitleMatchMode() {
		try {
			Assert.assertEquals(Opt.DEFAULT_WIN_TITLE_MATCH_MODE,

// Path: src/cn/com/jautoitx/Mouse.java
// public static enum MouseButton {
// 	LEFT("left"),
// 
// 	RIGHT("right"),
// 
// 	MIDDLE("middle"),
// 
// 	MAIN("main"),
// 
// 	MENU("menu"),
// 
// 	PRIMARY("primary"),
// 
// 	SECONDARY("secondary");
// 
// 	private final String button;
// 
// 	private MouseButton(final String button) {
// 		this.button = button;
// 	}
// 
// 	public String getButton() {
// 		return button;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return button;
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum CoordMode {
// 	/* relative coords to the active window */
// 	RELATIVE_TO_ACTIVE_WINDOW(0),
// 
// 	/* absolute screen coordinates (default) */
// 	ABSOLUTE_SCREEN_COORDINATES(1),
// 
// 	/* relative coords to the client area of the active window */
// 	RELATIVE_TO_CLIENT_AREA_OF_ACTIVE_WINDOW(2);
// 
// 	private final int coordMode;
// 
// 	private CoordMode(final int coordMode) {
// 		this.coordMode = coordMode;
// 	}
// 
// 	public int getCoordMode() {
// 		return coordMode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case RELATIVE_TO_ACTIVE_WINDOW:
// 			return "relative coords to the active window";
// 		case ABSOLUTE_SCREEN_COORDINATES:
// 			return "absolute screen coordinates";
// 		case RELATIVE_TO_CLIENT_AREA_OF_ACTIVE_WINDOW:
// 			return "relative coords to the client area of the active window";
// 		default:
// 			return "Unknown coord mode";
// 		}
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum WinTextMatchMode {
// 	/* Complete / Slow mode (default) */
// 	SLOW(1),
// 
// 	/* Quick mode */
// 	QUICK(2);
// 
// 	private final int mode;
// 
// 	private WinTextMatchMode(final int mode) {
// 		this.mode = mode;
// 	}
// 
// 	public int getMode() {
// 		return mode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case SLOW:
// 			return "Complete / Slow mode";
// 		case QUICK:
// 			return "Quick mode";
// 		default:
// 			return "Unknown win text match mode";
// 		}
// 	}
// }
// 
// Path: src/cn/com/jautoitx/Opt.java
// public static enum WinTitleMatchMode {
// 	/* Match the title from the start (default) */
// 	START(1),
// 
// 	/* Match any substring in the title */
// 	ANY(2),
// 
// 	/* Exact title match */
// 	EXACT(3),
// 
// 	/*
// 	 * Advanced mode, kept for backward compatibility, must be replaced with
// 	 * Advanced Window Descriptions which does not need any mode to be set
// 	 */
// 	ADVANCED(4);
// 
// 	private final int mode;
// 
// 	private WinTitleMatchMode(final int mode) {
// 		this.mode = mode;
// 	}
// 
// 	public int getMode() {
// 		return mode;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		switch (this) {
// 		case START:
// 			return "Match the title from the start";
// 		case ANY:
// 			return "Match any substring in the title";
// 		case EXACT:
// 			return "Exact title match";
// 		case ADVANCED:
// 			return "Advanced mode";
// 		default:
// 			return "Unknown win title match mode";
// 		}
// 	}
// }


// Path: test/cn/com/jautoitx/OptTest.java
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import javax.swing.JFrame;
import javax.swing.JTextField;
import org.junit.Assert;
import org.junit.Test;
import org.omg.CORBA.LongHolder;
import cn.com.jautoitx.Mouse.MouseButton;
import cn.com.jautoitx.Opt.CoordMode;
import cn.com.jautoitx.Opt.WinTextMatchMode;
import cn.com.jautoitx.Opt.WinTitleMatchMode;

			Assert.assertFalse(Opt.setWinSearchChildren(true));
		} finally {
			// restore default win search childrenOpt
			Opt.setWinSearchChildren(Opt.DEFAULT_WIN_SEARCH_CHILDREN);
		}
	}

	@Test
	public void setWinTextMatchMode() {
		try {
			Assert.assertEquals(Opt.DEFAULT_WIN_TEXT_MATCH_MODE,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
			Assert.assertEquals(WinTextMatchMode.SLOW,
					Opt.setWinTextMatchMode(WinTextMatchMode.QUICK));
			Assert.assertEquals(WinTextMatchMode.QUICK,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
			Assert.assertEquals(WinTextMatchMode.SLOW,
					Opt.setWinTextMatchMode(WinTextMatchMode.QUICK));
			Assert.assertEquals(WinTextMatchMode.QUICK,
					Opt.setWinTextMatchMode(WinTextMatchMode.SLOW));
		} finally {
			// restore default win text match mode
			Opt.setWinTextMatchMode(Opt.DEFAULT_WIN_TEXT_MATCH_MODE);
		}
	}

	@Test
	public void setWinTitleMatchMode() {
		try {
			Assert.assertEquals(Opt.DEFAULT_WIN_TITLE_MATCH_MODE,

					Opt.setWinTitleMatchMode(WinTitleMatchMode.EXACT));
