Random LED Blinks: SpinOff from Project 2 of Starter Kit

Plenty of topics on how to make blinking lights, but I'm stuck on trying to spinoff from Project 2 of the official starter kit. My goal is to press the switch and have 1 of 3 LEDs light up for one sec. After one second, another LED should light up and the former LED should extinguish.

Currently, I push the switch and I'm only getting my else conditon: the LED to pin 5 lights up. What am I getting wrong in my conversion of a float to an int?

Here's what I've done:

int switchState = 0;
float WhichLight = 0;
int BlinkLight = 0;
void setup() {
  // put your setup code here, to run once:
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
switchState = digitalRead(2);
if (switchState == LOW) {
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
}
else {
 WhichLight = random(3, 6); /* LEDs are connected to pins 3-5.  Since I'm planning on changing this variable type to an integer, I'll have it max at 6 due to truncation */
 BlinkLight = (int) WhichLight; // Converts it to an int
   if (BlinkLight = 4) {
     digitalWrite(4, HIGH);
     digitalWrite(3, LOW);
     digitalWrite(5, LOW);
   } 
   else if (BlinkLight = 3) {
     digitalWrite(3, HIGH);
     digitalWrite(4, LOW);
     digitalWrite(5, LOW);
   }  
   else {
     digitalWrite(5, HIGH);
     digitalWrite(3, LOW);
     digitalWrite(4, LOW);
   }
  delay(1000);
}
}

You have one = in several of those if statements.

D'oh! Thanks.