describe("About Arrays", function() {

  //We shall contemplate truth by testing reality, via spec expectations.  
  it("should create arrays", function() {
    var emptyArray = [];
    expect(typeof(emptyArray)).toBe(FILL_ME_IN); //A mistake? - http:javascript.crockford.com/remedial.html
    expect(emptyArray.length).toBe(FILL_ME_IN);

    var multiTypeArray = [0, 1, "two", function () { return 3; }, {value1: 4, value2: 5}, [6, 7]];
    expect(multiTypeArray[0]).toBe(FILL_ME_IN);
    expect(multiTypeArray[2]).toBe(FILL_ME_IN);
    expect(multiTypeArray[3]()).toBe(FILL_ME_IN);
    expect(multiTypeArray[4].value1).toBe(FILL_ME_IN);
    expect(multiTypeArray[4]["value2"]).toBe(FILL_ME_IN);
    expect(multiTypeArray[5][0]).toBe(FILL_ME_IN);
  });

  it("should understand array literals", function () {
    var array = [];
    expect(array).toEqual([]);
    
    array[0] = 1;
    expect(array).toEqual([1]);
    
    array[1] = 2;
    expect(array).toEqual([1, FILL_ME_IN]);
    
    array.push(3);
    expect(array).toEqual(FILL_ME_IN);
  });

  it("should understand array length", function () {
    var fourNumberArray = [1, 2, 3, 4];

    expect(fourNumberArray.length).toBe(FILL_ME_IN);
    fourNumberArray.push(5, 6);
    expect(fourNumberArray.length).toBe(FILL_ME_IN);

    var tenEmptyElementArray = new Array(10); 
    expect(tenEmptyElementArray.length).toBe(FILL_ME_IN);

    tenEmptyElementArray.length = 5;
    expect(tenEmptyElementArray.length).toBe(FILL_ME_IN);
  });

  it("should slice arrays", function () {
    var array = ["peanut", "butter", "and", "jelly"];
    
    expect(array.slice(0, 1)).toEqual(FILL_ME_IN);
    expect(array.slice(0, 2)).toEqual(FILL_ME_IN);
    expect(array.slice(2, 2)).toEqual(FILL_ME_IN);
    expect(array.slice(2, 20)).toEqual(FILL_ME_IN);
    expect(array.slice(3, 0)).toEqual(FILL_ME_IN);
    expect(array.slice(3, 100)).toEqual(FILL_ME_IN);
    expect(array.slice(5, 1)).toEqual(FILL_ME_IN);
  });

  it("should know array references", function () {
    var array = [ "zero", "one", "two", "three", "four", "five" ];

    function passedByReference(refArray) {
      refArray[1] = "changed in function";
    }
    passedByReference(array);
    expect(array[1]).toBe(FILL_ME_IN);

    var assignedArray = array;
    assignedArray[5] = "changed in assignedArray";
    expect(array[5]).toBe(FILL_ME_IN);

    var copyOfArray = array.slice();
    copyOfArray[3] = "changed in copyOfArray";
    expect(array[3]).toBe(FILL_ME_IN);
  });

  it("should push and pop", function () {
    var array = [1, 2];
    array.push(3);

    expect(array).toEqual(FILL_ME_IN);
    
    var poppedValue = array.pop();
    expect(poppedValue).toBe(FILL_ME_IN);
    expect(array).toEqual(FILL_ME_IN);
  });

  it("should know about shifting arrays", function () {
    var array = [1, 2];

    array.unshift(3);
    expect(array).toEqual(FILL_ME_IN);
    
    var shiftedValue = array.shift();
    expect(shiftedValue).toEqual(FILL_ME_IN);
    expect(array).toEqual(FILL_ME_IN);
  });  
});

@@ -211,26 +211,24 @@
 )).toBe(
-FILL_ME_IN
+%22object%22
 ); //A m
@@ -312,34 +312,25 @@
 ength).toBe(
-FILL_ME_IN
+0
 );%0A%0A    var 
@@ -451,34 +451,25 @@
 ay%5B0%5D).toBe(
-FILL_ME_IN
+0
 );%0A    expec
@@ -490,34 +490,29 @@
 ay%5B2%5D).toBe(
-FILL_ME_IN
+%22two%22
 );%0A    expec
@@ -535,34 +535,25 @@
 %5B3%5D()).toBe(
-FILL_ME_IN
+3
 );%0A    expec
@@ -581,34 +581,25 @@
 alue1).toBe(
-FILL_ME_IN
+4
 );%0A    expec
@@ -630,34 +630,25 @@
 ue2%22%5D).toBe(
-FILL_ME_IN
+5
 );%0A    expec
@@ -672,34 +672,25 @@
 5%5D%5B0%5D).toBe(
-FILL_ME_IN
+6
 );%0A  %7D);%0A%0A  
@@ -901,26 +901,17 @@
 ual(%5B1, 
-FILL_ME_IN
+2
 %5D);%0A    
@@ -952,34 +952,33 @@
 ay).toEqual(
-FILL_ME_IN
+%5B1, 2, 3%5D
 );%0A  %7D);%0A%0A  
@@ -1105,34 +1105,25 @@
 ength).toBe(
-FILL_ME_IN
+4
 );%0A    fourN
@@ -1181,34 +1181,25 @@
 ength).toBe(
-FILL_ME_IN
+6
 );%0A%0A    var 
@@ -1278,34 +1278,26 @@
 ength).toBe(
-FILL_ME_IN
+10
 );%0A%0A    tenE
@@ -1366,34 +1366,25 @@
 ength).toBe(
-FILL_ME_IN
+5
 );%0A  %7D);%0A%0A  
@@ -1516,34 +1516,34 @@
 1)).toEqual(
-FILL_ME_IN
+%5B%22peanut%22%5D
 );%0A    expec
@@ -1567,34 +1567,43 @@
 2)).toEqual(
-FILL_ME_IN
+%5B%22peanut%22,%22butter%22%5D
 );%0A    expec
@@ -1627,34 +1627,26 @@
 2)).toEqual(
-FILL_ME_IN
+%5B%5D
 );%0A    expec
@@ -1671,34 +1671,40 @@
 0)).toEqual(
-FILL_ME_IN
+%5B%22and%22, %22jelly%22%5D
 );%0A    expec
@@ -1728,34 +1728,26 @@
 0)).toEqual(
-FILL_ME_IN
+%5B%5D
 );%0A    expec
@@ -1773,34 +1773,33 @@
 0)).toEqual(
-FILL_ME_IN
+%5B%22jelly%22%5D
 );%0A    expec
@@ -1823,34 +1823,26 @@
 1)).toEqual(
-FILL_ME_IN
+%5B%5D
 );%0A  %7D);%0A%0A  

arrays1