import java.util.Arrays;

public class TestUtils {
	
	public static BST arrayToBST(int[] input) {
		// create a new BST containing the integers in input.
		BST a = null;
		for (int x : input) {
			a = (a == null) ? new BST(x) : BST.insert(a,x);
		}
		return a;
	}
	
	public static Set arrayToSet(int[] input) {
		Set s = new Set( );
		for (int x : input)
			s.add(x);
		return s;
	}
	
	public static String arrayToString(int[] tab) {
		// pretty-print an array of integers.
		int n = tab.length;
		if (n == 0)
			return "{}";
		StringBuffer b = new StringBuffer();
		b.append("{");
		for (int i = 0; i < n - 1; i++)
			b.append(tab[i] + ", ");
		b.append(tab[n - 1] + "}");
		return b.toString();
	}

	public static int[] permute(int[] tab) {
		// return a new random permutation of tab.
		int[] ret = Arrays.copyOf(tab, tab.length);
		for (int i = tab.length - 1; i > 0; i--) {
			int j = (int) (Math.random() * (i + 1));
			int tmp = ret[i];
			ret[i] = ret[j];
			ret[j] = tmp;	
		}
		return ret;
	}
}
