text: from aws_xray_sdk.core.models.throwable import Throwable
  
  
  def test_message_and_type():
  
      e = TypeError('msg')
      throwable = Throwable(e, None, True)
      assert throwable.message == 'msg'
      assert throwable.type == type(e).__name__
      assert throwable.remote
  
  
  def test_stack_trace_parsing():
      # sample output using `traceback.extract_stack()`
      stack = [
          ('/path/to/test.py', 10, 'module', 'another_function()'),
          ('/path/to/test.py', 3, 'another_function', 'wrong syntax'),
      ]
  
      throwable = Throwable(TypeError(), stack)
  
      entry1 = throwable.stack[0]
      assert entry1['path'] == 'test.py'
      assert entry1['line'] == 10
      assert entry1['label'] == 'module'
  
      entry2 = throwable.stack[1]
      assert entry2['path'] == 'test.py'
      assert entry2['line'] == 3
      assert entry2['label'] == 'another_function'
  