'use strict';
var chai = require('chai');
var expect = chai.expect;
var toTree = require('../index.js');
var expected = require('./fixtures/expected.fixture.js');
var initial = require('./fixtures/initial.fixture.js');
var current;

describe('parent pointer array to tree', function() {
  describe('expected behavior', function() {

    beforeEach(function() {
      current = toTree(initial);
    });

    it('should not modify passed object', function() {
      expect(current).not.to.be.equal(initial);
    });

  })
});

@@ -468,40 +468,629 @@
 ect(
-current).not.to.be.equal(initial
+initial).to.be.deep.equal(initial);%0A    %7D);%0A%0A    it('should return an array', function() %7B%0A      expect(current).to.be.an('array');%0A    %7D);%0A%0A    it('should keep parent_id property', function() %7B%0A      var first = current%5B0%5D;%0A%0A      expect(first).to.have.property('parent_id');%0A    %7D);%0A%0A    it('should create nested objects with children', function() %7B%0A      var first = current%5B0%5D;%0A%0A      expect(first)%0A        .to.have.property('children')%0A        .that.is.an('array')%0A        .to.have.length.of.at.least(1);%0A    %7D);%0A%0A    it('should return an expected value', function() %7B%0A      expect(current).to.be.deep.equal(expected
 );%0A 

Implement basic tests