viligen

stringBuilderClass

Jun 12th, 2022 (edited)
910
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. describe('Tests sb', function () {
  2.     describe('constructor ', function () {
  3.         it('assert an instance with string param or none', function () {
  4.             let sb = new StringBuilder('test');
  5.             assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
  6.             sb = new StringBuilder('');
  7.             assert.deepEqual(sb._stringArray, []);
  8.             sb = new StringBuilder();
  9.             assert.deepEqual(sb._stringArray, []);
  10.         });
  11.  
  12.         it('assert an instance with invalid param', function () {
  13.             assert.Throw(
  14.                 () => new StringBuilder(8),
  15.                 'Argument must be a string'
  16.             );
  17.         });
  18.     });
  19.  
  20.     describe('append', function () {
  21.         it('assert append with valid param', function () {
  22.             let sb = new StringBuilder('test');
  23.             sb.append('hi');
  24.             assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't', 'h', 'i']);
  25.         });
  26.         it('assert append with valid param', function () {
  27.             let sb = new StringBuilder('test');
  28.             sb.append('');
  29.             assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
  30.         });
  31.         it('assert an instance with invalid param', function () {
  32.             let sb = new StringBuilder('test');
  33.             assert.Throw(() => sb.append(8), 'Argument must be a string');
  34.         });
  35.         it('assert an instance with invalid param', function () {
  36.             let sb = new StringBuilder('tes');
  37.             assert.Throw(() => sb.append(), 'Argument must be a string');
  38.         });
  39.     });
  40.     describe('prepend', function () {
  41.  
  42.          it('assert prepend with valid param', function () {
  43.              let sb = new StringBuilder('test');
  44.              sb.prepend('hi');
  45.              assert.deepEqual(sb._stringArray, ['h', 'i','t', 'e', 's', 't']);
  46.          });
  47.          it('assert prepend with valid param', function () {
  48.              let sb = new StringBuilder('test');
  49.              sb.prepend('');
  50.              assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
  51.          });
  52.          it('assert an instance with invalid param', function () {
  53.              let sb = new StringBuilder('test');
  54.              assert.Throw(() => sb.prepend(8), 'Argument must be a string');
  55.          });
  56.          it('assert an instance with invalid param', function () {
  57.              let sb = new StringBuilder('tes');
  58.              assert.Throw(() => sb.prepend(), 'Argument must be a string');
  59.          });
  60.     });
  61.     describe('insertAt', function () {
  62.          it('assert insert with valid param', function () {
  63.              let sb = new StringBuilder('test');
  64.              sb.insertAt('hi', 0);
  65.              assert.deepEqual(sb._stringArray, ['h', 'i', 't', 'e', 's', 't']);
  66.          });
  67.          it('assert insert with valid param', function () {
  68.              let sb = new StringBuilder('test');
  69.              sb.insertAt('', 2);
  70.              assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
  71.          });
  72.          it('assert an instance with invalid param', function () {
  73.              let sb = new StringBuilder('test');
  74.              assert.Throw(() => sb.insertAt(8, 2), 'Argument must be a string');
  75.          });
  76.          it('assert an instance with invalid param', function () {
  77.              let sb = new StringBuilder('tes');
  78.              assert.Throw(() => sb.insertAt(null, 0), 'Argument must be a string');
  79.          });
  80.          it('assert an instance with invalid param', function () {
  81.              let sb = new StringBuilder('tes');
  82.              assert.Throw(
  83.                  () => sb.insertAt(),
  84.                  'Argument must be a string'
  85.              );
  86.          });
  87.     });
  88.     describe('remove', function () {
  89.         it('assert remove with valid param', function () {
  90.             let sb = new StringBuilder('test');
  91.             sb.remove(0, 0);
  92.             assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
  93.         });
  94.         it('assert remove with valid param', function () {
  95.             let sb = new StringBuilder('test');
  96.             sb.remove(1, 2);
  97.             assert.deepEqual(sb._stringArray, ['t', 't']);
  98.         });
  99.     });
  100.     describe('toString', function () {
  101.         it('assert output string', function () {
  102.             let sb = new StringBuilder('test');
  103.             sb.remove(1, 2);
  104.             assert.equal(sb.toString(), 'tt')
  105.         });
  106.  
  107.         it('assert output string', function () {
  108.             let sb = new StringBuilder('test');
  109.             sb.insertAt('hi', 2);
  110.             assert.equal(sb.toString(), 'tehist');
  111.         });
  112.         it('assert output string', function () {
  113.             let sb = new StringBuilder('test');
  114.             sb.remove(2, 2);
  115.             assert.equal(sb.toString(), 'te');
  116.         });
  117.     });
  118. });
Add Comment
Please, Sign In to add comment