public void randDnaSeqGetBasesTest(int numTests, int numTestsPerSeq, int lenMask, long seed) {
		Random rand = new Random(seed);

		for( int t = 0; t < numTests; t++ ) {
			String seq = "";
			int len = (rand.nextInt() & lenMask) + 10; // Randomly select sequence length
			seq = randSeq(len, rand); // Create a random sequence

			DnaSequence bseq = new DnaSequence(seq);

			// Retrieve numTestsPerSeq random bases from the sequence
			for( int i = 0; i < numTestsPerSeq; i++ ) {
				int randPos = rand.nextInt(len);
				int randLen = rand.nextInt(len - randPos);
				String basesOri = seq.substring(randPos, randPos + randLen);
				String basesBin = bseq.getBases(randPos, randLen);
				Assert.assertEquals(basesOri, basesBin);
				if( verbose ) System.out.println("randDnaSeqGetBasesTest:\tPos: " + randPos + "\t" + "Len: " + randLen + "\t'" + basesOri + "'\t=\t'" + basesBin + "'");
			}
		}
	}