 
     describe "on an expression that has a trailing exponent", ->
       it "manipulates expression correctly", ->
-        exp = @exp_builder('^': [10, null])
+        exp = @exp_builder('^': [10, {open_expression: null}])
         new_exp = @manip.exponentiate_last.build().invoke(exp)
-        expected = @exp_builder('^': [10, null])
+        expected = @exp_builder('^': [10, {open_expression: null}])
         expect(new_exp).toBeAnEqualExpressionTo expected
 
   describe "append number", ->

      exp = @exp_builder(1)
      new_exp = @manip.append_multiplication.build().invoke(exp)
      expect(new_exp.last() instanceof @math.components.multiplication).toEqual true

    it_inserts_component_into_the_last_nested_open_expression(
      name: 'multiplication'

          expected = @exp_builder({'^': [10,11]}, '*', 12)
          expect(new_exp).toBeAnEqualExpressionTo expected

    describe "when the equations last element is an equals", ->
      it "adds the number as a new number", ->
        exp = @exp_builder(1, '+', 3, '=')
        manipulated_exp = @manip.append_number.build(value: 8).invoke(exp)
        expected = @exp_builder(1, '+', 3, '=', 8)
        expect(manipulated_exp).toBeAnEqualExpressionTo expected

  describe "appending an equals", ->
    it "inserts an equals sign into the equation", ->
      @exp = @exp_builder(1, '+', 3)
      new_exp = @manip.append_equals.build().invoke(@exp)
      expected = @exp_builder(1, '+', 3, '=')
      expect(new_exp).toBeAnEqualExpressionTo expected

  describe "opening a new sub expression", ->
    it "adds a sub-expression to the expression", ->
