public static void randTest() {
		double labelCeil = 10.0;
		Double unLabel = new Double(1.0);
		double fracCon = 0.3;
		int numVertices = 10;
		int numLabels = 3;
		Random rand = new Random(1847860);
		HashMap<Integer,Double> ls = new HashMap<Integer,Double>(numLabels);
		for (int i=0; i < numLabels; ) {
			Integer newl = new Integer(rand.nextInt(numVertices));
			if (!ls.containsKey(newl)) {
				ls.put(newl, new Double (rand.nextDouble()*labelCeil));
				i++;
			}
		}
		HashMap<Integer,Double> allLabels = new HashMap<Integer,Double>(numVertices);
		HashMap<Integer,HashMap<Integer,Double>> weights = new HashMap<Integer,HashMap<Integer,Double>>(numVertices);
		for (int i=0; i < numVertices; i++) {
			Integer me = new Integer(i);
			HashMap<Integer,Double> neighbors = new HashMap<Integer,Double>();
			for (int j=0; j < numVertices; j++) {
				if (rand.nextDouble() < fracCon) {
					neighbors.put(new Integer(j), new Double(rand.nextDouble()));
				}
			}
			weights.put(me, neighbors);
			if (ls.containsKey(me)) {
				allLabels.put(me, ls.get(me));
			} else {
				allLabels.put(me, unLabel);
			}
		}
		
		HarmonicLabels harm = new HarmonicLabels();
		harm.test_labels = ls;
		harm.test_weights = weights;
		HashMap<Integer,Double> oldLabels = allLabels;
		printMap(oldLabels);
		
		HashMap<Integer,Double> newLabels = harm.calcNewLabels(oldLabels);
		double diff = getDiff(oldLabels, newLabels);
		oldLabels = newLabels;
		printMap(newLabels);
		System.out.println(diff);
		while (diff > epsilon) {
			newLabels = harm.calcNewLabels(oldLabels);
			diff = getDiff(oldLabels, newLabels);
			oldLabels = newLabels;
			printMap(newLabels);
			System.out.println(diff);
		}
	}