<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <script src="https://js.cx/test/libs.js"></script>
  <script src="test.js"></script>
</head>
<body>

  <script>
    // by Sergey Belonog
  
    let arr = [ 1, 2, 3, 4, 5 ];
    
    function getSums (arr) {
      return arr.reduce(function (newArr, item, i) {
        newArr.push( i ? newArr[i -1] + item : item);
        
        return newArr;
      }, []);
    }
    
    alert (getSums(arr));

  </script>

</body>
</html>
describe("getSums", function() {

  it("частичные суммы [1,2,3,4,5] равны [1,3,6,10,15]", function() {
    assert.deepEqual(getSums([1, 2, 3, 4, 5]), [1, 3, 6, 10, 15]);
  });

  it("частичные суммы [-2,-1,0,1] равны [-2,-3,-3,-2]", function() {
    assert.deepEqual(getSums([-2, -1, 0, 1]), [-2, -3, -3, -2]);
  });

  it("частичные суммы [] равны []", function() {
    assert.deepEqual(getSums([]), []);
  });

  it("частичные суммы [1] равны [1]", function() {
    assert.deepEqual(getSums([1]), [1]);
  });
});