SHARE
TWEET

Untitled

a guest Feb 14th, 2020 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. describe('StringBuilder class', () => {
  2.  
  3.     describe('Constructor test', () => {
  4.  
  5.         it('Empty', () => {
  6.             let a = new StringBuilder();
  7.             assert.deepEqual(a._stringArray, []);
  8.         });
  9.  
  10.         it('String', () => {
  11.             let a = new StringBuilder('string');
  12.             assert.deepEqual(a._stringArray, ['s', 't', 'r', 'i', 'n', 'g']);
  13.         });
  14.  
  15.         it('Number, Array, Boolean', () => {
  16.             let a = () => new StringBuilder(5);
  17.             let b = () => new StringBuilder([]);
  18.             let c = () => new StringBuilder(false);
  19.  
  20.             assert.throws(a, 'Argument must be string');
  21.             assert.throws(b, 'Argument must be string');
  22.             assert.throws(c, 'Argument must be string');
  23.         });
  24.     });
  25.  
  26.     describe('.append test', () => {
  27.  
  28.         it('String', () => {
  29.             let a = new StringBuilder('abc');
  30.             a.append('cba');
  31.             assert.deepEqual(a._stringArray, ['a', 'b', 'c', 'c', 'b', 'a']);
  32.         });
  33.  
  34.         it('Boolean', () => {
  35.             let a = new StringBuilder();
  36.             let b = () => a.append(true);
  37.  
  38.             assert.throws(b, 'Argument must be string');
  39.         });
  40.     });
  41.  
  42.     describe('.prepend test', () => {
  43.  
  44.         it('String', () => {
  45.             let a = new StringBuilder('abc');
  46.             a.prepend('cba');
  47.             assert.deepEqual(a._stringArray, ['c', 'b', 'a', 'a', 'b', 'c']);
  48.         });
  49.  
  50.         it('Number', () => {
  51.             let a = new StringBuilder();
  52.             let b = () => a.prepend(5);
  53.             assert.throws(b, 'Argument must be string');
  54.         });
  55.     });
  56.  
  57.     describe('.insertAt test', () => {
  58.  
  59.         it('Number insted of string', () => {
  60.             let a = new StringBuilder('Debugger');
  61.             let b = () => a.insertAt(7, 1);
  62.  
  63.             assert.throws(b, 'Argument must be string');
  64.         });
  65.  
  66.         it('First index, Last index', () => {
  67.             let a = new StringBuilder('abc');
  68.             let b = new StringBuilder('abc');
  69.             a.insertAt('h', 0);
  70.             b.insertAt('h', 2);
  71.  
  72.             assert.deepEqual(a._stringArray, ['h', 'a', 'b', 'c']);
  73.             assert.deepEqual(b._stringArray, ['a', 'b', 'h', 'c']);
  74.         });
  75.  
  76.         it('Empty string, Space', () => {
  77.             let a = new StringBuilder('abc');
  78.             a.insertAt('', 1);
  79.             assert.deepEqual(a._stringArray, ['a', 'b', 'c']);
  80.  
  81.             a.insertAt(' ', 1);
  82.             assert.deepEqual(a._stringArray, ['a', ' ', 'b', 'c']);
  83.         });
  84.     });
  85.  
  86.     describe('.remove test', () => {
  87.  
  88.         it('Negative, Zero, Positive length', () => {
  89.             let a = new StringBuilder('Debugger');
  90.  
  91.             a.remove(0, -1);
  92.             assert.deepEqual(a._stringArray, ['D', 'e', 'b', 'u', 'g', 'g', 'e', 'r']);
  93.  
  94.             a.remove(0, 0);
  95.             assert.deepEqual(a._stringArray, ['D', 'e', 'b', 'u', 'g', 'g', 'e', 'r']);
  96.  
  97.             a.remove(0, 5);
  98.             assert.deepEqual(a._stringArray, ['g', 'e', 'r']);
  99.         });
  100.  
  101.         it('String, Floating point, Bigger length', () => {
  102.             let a = new StringBuilder('Debugger');
  103.  
  104.             a.remove(0, '1');
  105.             assert.deepEqual(a._stringArray, ['e', 'b', 'u', 'g', 'g', 'e', 'r']);
  106.  
  107.             a.remove(0, 1.5);
  108.             assert.deepEqual(a._stringArray, ['b', 'u', 'g', 'g', 'e', 'r']);
  109.  
  110.             a.remove(0, 15);
  111.             assert.deepEqual(a._stringArray, []);
  112.         });
  113.  
  114.         it('Array, Object, Boolean', () => {
  115.             let a = new StringBuilder('Debugger');
  116.  
  117.             a.remove(0, []);
  118.             assert.deepEqual(a._stringArray, ['D', 'e', 'b', 'u', 'g', 'g', 'e', 'r']);
  119.  
  120.             a.remove(0, {});
  121.             assert.deepEqual(a._stringArray, ['D', 'e', 'b', 'u', 'g', 'g', 'e', 'r']);
  122.  
  123.             a.remove(0, true);
  124.             assert.deepEqual(a._stringArray, ['e', 'b', 'u', 'g', 'g', 'e', 'r']);
  125.         });
  126.     });
  127.  
  128.     describe('.toString test', () => {
  129.  
  130.         it('Non-empty array', () => {
  131.             let a = new StringBuilder('abc');
  132.             let b = a.toString();
  133.  
  134.             assert.equal(b, 'abc');
  135.         });
  136.  
  137.         it('Empty array', () => {
  138.             let a = new StringBuilder();
  139.             let b = a.toString();
  140.  
  141.             assert.equal(b, '');
  142.         });
  143.     });
  144. })
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top