code: def test_should_get_version_attributes(self):
      # Given
      v = "0.19.0.1-alpha1+meta"
  
      # When
      parsed_version = parse_version(v)
  
      # Then
      expected_parsed_version = {
          "major": "0",
          "minor": "19",
          "patch": "0",
          "subpatch": "1",
          "prerelease": "alpha1",
          "buildmetadata": "meta",
      }
      self.assertDictEqual(parsed_version, expected_parsed_version)
  
imports: from __future__ import unicode_literals
  import logging
  from future.builtins import object, str
  from future.utils import iteritems
  from mock import MagicMock
  from snips_nlu import __model_version__, __version__
  from snips_nlu.common.dict_utils import LimitedSizeDict
  from snips_nlu.common.log_utils import DifferedLoggingMessage
  from snips_nlu.common.utils import ranges_overlap, replace_entities_with_placeholders, parse_version
  from snips_nlu.constants import END, START
  from snips_nlu.preprocessing import tokenize_light
  from snips_nlu.tests.utils import SnipsTest
label_desc: Use image node_id 3 for calling the TestVersion obj's underlying member method code with example usage: obj.test_should_get_version_attributes() without return types