Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe('Tests sb', function () {
- describe('constructor ', function () {
- it('assert an instance with string param or none', function () {
- let sb = new StringBuilder('test');
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
- sb = new StringBuilder('');
- assert.deepEqual(sb._stringArray, []);
- sb = new StringBuilder();
- assert.deepEqual(sb._stringArray, []);
- });
- it('assert an instance with invalid param', function () {
- assert.Throw(
- () => new StringBuilder(8),
- 'Argument must be a string'
- );
- });
- });
- describe('append', function () {
- it('assert append with valid param', function () {
- let sb = new StringBuilder('test');
- sb.append('hi');
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't', 'h', 'i']);
- });
- it('assert append with valid param', function () {
- let sb = new StringBuilder('test');
- sb.append('');
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('test');
- assert.Throw(() => sb.append(8), 'Argument must be a string');
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('tes');
- assert.Throw(() => sb.append(), 'Argument must be a string');
- });
- });
- describe('prepend', function () {
- it('assert prepend with valid param', function () {
- let sb = new StringBuilder('test');
- sb.prepend('hi');
- assert.deepEqual(sb._stringArray, ['h', 'i','t', 'e', 's', 't']);
- });
- it('assert prepend with valid param', function () {
- let sb = new StringBuilder('test');
- sb.prepend('');
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('test');
- assert.Throw(() => sb.prepend(8), 'Argument must be a string');
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('tes');
- assert.Throw(() => sb.prepend(), 'Argument must be a string');
- });
- });
- describe('insertAt', function () {
- it('assert insert with valid param', function () {
- let sb = new StringBuilder('test');
- sb.insertAt('hi', 0);
- assert.deepEqual(sb._stringArray, ['h', 'i', 't', 'e', 's', 't']);
- });
- it('assert insert with valid param', function () {
- let sb = new StringBuilder('test');
- sb.insertAt('', 2);
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('test');
- assert.Throw(() => sb.insertAt(8, 2), 'Argument must be a string');
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('tes');
- assert.Throw(() => sb.insertAt(null, 0), 'Argument must be a string');
- });
- it('assert an instance with invalid param', function () {
- let sb = new StringBuilder('tes');
- assert.Throw(
- () => sb.insertAt(),
- 'Argument must be a string'
- );
- });
- });
- describe('remove', function () {
- it('assert remove with valid param', function () {
- let sb = new StringBuilder('test');
- sb.remove(0, 0);
- assert.deepEqual(sb._stringArray, ['t', 'e', 's', 't']);
- });
- it('assert remove with valid param', function () {
- let sb = new StringBuilder('test');
- sb.remove(1, 2);
- assert.deepEqual(sb._stringArray, ['t', 't']);
- });
- });
- describe('toString', function () {
- it('assert output string', function () {
- let sb = new StringBuilder('test');
- sb.remove(1, 2);
- assert.equal(sb.toString(), 'tt')
- });
- it('assert output string', function () {
- let sb = new StringBuilder('test');
- sb.insertAt('hi', 2);
- assert.equal(sb.toString(), 'tehist');
- });
- it('assert output string', function () {
- let sb = new StringBuilder('test');
- sb.remove(2, 2);
- assert.equal(sb.toString(), 'te');
- });
- });
- });
Add Comment
Please, Sign In to add comment