Assertions

Category: Assertions
Author: Marty Stepp
Book Chapter: 5.5
Problem: Assertions
	For each of the five points labeled by comments, identify each of the following assertions as either being always true, never true, or sometimes true / sometimes false. 

// Counts number of "coin tosses" until we get heads 3 times in a row.
public static int threeHeads() {
	Random rand = new Random();
	int flip = 1;
	int heads = 0;
	int count = 0;
	<span class="assertionpoint">// Point A
	while (heads < 3) {
		<span class="assertionpoint">// Point B
		flip = rand.nextInt(2);
		// flip coin
		if (flip == 0) { // heads
			heads++;
			<span class="assertionpoint">// Point C
		} else {
			// tails
			<span class="assertionpoint">// Point D
			heads = 0;
		}
		count++;
	}
	<span class="assertionpoint">// Point E
	return count;
}

1) flip == 0
2) heads == 0
3) flip > heads