message: split segmentEncoder testcases so that there is only one way each of it can fail;
diff: @@ -34,30 +34,49 @@ describe('encoder->SegmentEncoder', (): void => {
  });
  - it('should ensure that (en/de)coded (in/out)put restrictions are the same', async (): Promise<void> => {
  + it('should ensure that encode not throws an error', async (): Promise<void> => {
  const tcModel: TCModel = getTCModelWithGVL();
  - let encoded = '';
  - let decoded: TCModel;
  const encodeIt = (): void => {
  - encoded = SegmentEncoder.encode(tcModel, Segment.CORE);
  + SegmentEncoder.encode(tcModel, Segment.CORE);
  };
  + await tcModel.gvl.readyPromise;
  +
  + expect(encodeIt, 'encode should not throw an error').not.to.throw();
  +
  + });
  +
  + it('should ensure that decode not throws an error', async (): Promise<void> => {
  +
  + const tcModel: TCModel = getTCModelWithGVL();
  + const encoded = SegmentEncoder.encode(tcModel, Segment.CORE);
  +
  const decodeIt = (): void => {
  - decoded = SegmentEncoder.decode(encoded, tcModel, Segment.CORE);
  + SegmentEncoder.decode(encoded, tcModel, Segment.CORE);
  };
  await tcModel.gvl.readyPromise;
  - expect(encodeIt, 'encode should not throw an error').not.to.throw();
  - expect(encoded, 'shold not be empty').to.not.equal('');
  - expect(decodeIt, 'encode should not throw an error').not.to.throw();
  - expect(decoded, 'shold not be empty').to.not.equal('');
  + expect(decodeIt, 'decode should not throw an error').not.to.throw();
  +
  + });
  +
  + it('should ensure that (en/de)coded (in/out)put restrictions are the same', async (): Promise<void> => {
  +
  + const tcModel: TCModel = getTCModelWithGVL();
  + const encoded = SegmentEncoder.encode(tcModel, Segment.CORE);
  + const decoded = SegmentEncoder.decode(encoded, tcModel, Segment.CORE);
  +
  + await tcModel.gvl.readyPromise;
  +
  + expect(encoded, 'should not be empty').to.not.equal('');
  + expect(decoded, 'should not be empty').to.not.equal('');
  expect(tcModel).equals(decoded);
  });
  