Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Lutaml::Model #13

Merged
merged 3 commits into from
Aug 28, 2024
Merged

Migrate to Lutaml::Model #13

merged 3 commits into from
Aug 28, 2024

Conversation

ronaldtse
Copy link
Contributor

Fixes #12 .

All spec failures here due to the different implementation of custom methods in Shale vs Lutaml::Model:

Depends on:

Some of them are due to usage of as_json and of_json internal methods of Shale.

Failures:

  1) Genericode::Cli::CodeLister.list_codes lists codes from a valid XML file
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
     # ./spec/genericode/cli/code_lister_spec.rb:34:in `block (3 levels) in <top (required)>'

  2) Genericode::Cli::CodeLister.list_codes raises an error when an invalid ColumnRef is found
     Failure/Error: expect { Genericode::Cli::CodeLister.list_codes("invalid.gc") }.to raise_error(Genericode::Error, /INVALID_COLUMN_REF: Invalid ColumnRef 'invalid' in row 1/)
     
       expected Genericode::Error with message matching /INVALID_COLUMN_REF: Invalid ColumnRef 'invalid' in row 1/, got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
         # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (3 levels) in <top (required)>'

  3) Genericode::Cli::CodeLister.list_codes raises an error when a code value is invalid
     Failure/Error: expect { Genericode::Cli::CodeLister.list_codes("invalid.gc") }.to raise_error(Genericode::Error, /INVALID_DATA_TYPE: Invalid data type for column 'Code' in row 1/)
     
       expected Genericode::Error with message matching /INVALID_DATA_TYPE: Invalid data type for column 'Code' in row 1/, got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
         # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (3 levels) in <top (required)>'

  4) Genericode::Cli::CodeLookup.lookup looks up a code successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:39:in `block (3 levels) in <top (required)>'

  5) Genericode::Cli::CodeLookup.lookup looks up a name successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:43:in `block (3 levels) in <top (required)>'

  6) Genericode::Cli::CodeLookup.lookup looks up a simple value successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:47:in `block (3 levels) in <top (required)>'

  7) Genericode::Cli::CodeLookup.lookup raises an error for invalid path
     Failure/Error: expect { Genericode::Cli::CodeLookup.lookup("file.gc", "invalid:path") }.to raise_error(Genericode::Error, "Column not found: invalid")
     
       expected Genericode::Error with "Column not found: invalid", got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
         # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (3 levels) in <top (required)>'

  8) Genericode::Cli::Converter.convert converts JSON to XML
     Failure/Error: model.column_set = ColumnSet.of_json({ "Column" => value })
     
     NoMethodError:
       undefined method `of_json' for class Genericode::ColumnSet
     # ./lib/genericode/code_list.rb:42:in `column_set_from_json'
     # ./lib/genericode/code_list.rb:26:in `from_file'
     # ./lib/genericode/cli/converter.rb:13:in `convert'
     # ./spec/genericode/cli/converter_spec.rb:21:in `block (3 levels) in <top (required)>'

  9) Genericode::Cli::Validator.validate validates a valid XML file
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/validator.rb:8:in `validate'
     # ./spec/genericode/cli/validator_spec.rb:31:in `block (3 levels) in <top (required)>'

  10) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  11) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts JSON to XML correctly
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  12) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  13) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  14) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  15) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  16) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  17) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  18) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  19) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  20) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  21) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  22) Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  23) Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  24) Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  25) Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  26) Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  27) Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  28) Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  29) Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  30) Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  31) Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  32) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  33) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  34) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  35) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  36) Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  37) Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  38) Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  39) Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  40) Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  41) Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  42) Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  43) Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  44) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  45) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  46) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  47) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  48) Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  49) Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  50) Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  51) Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  52) Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  53) Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  54) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  55) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  56) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  57) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  58) Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj provides identical attribute access
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  59) Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj performs lossless round-trip conversion
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  60) Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj provides identical attribute access
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  61) Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  62) Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj provides identical attribute access
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  63) Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  64) Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj provides identical attribute access
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  65) Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: model.short_name = ShortName.new(content: value) if value
      
      NoMethodError:
        undefined method `model' for class Lutaml::Model::Type::String
      # ./lib/genericode/json/short_name_mixin.rb:7:in `new'
      # ./lib/genericode/json/short_name_mixin.rb:7:in `short_name_from_json'
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

Finished in 5.73 seconds (files took 0.16744 seconds to load)
94 examples, 65 failures

Failed examples:

rspec ./spec/genericode/cli/code_lister_spec.rb:30 # Genericode::Cli::CodeLister.list_codes lists codes from a valid XML file
rspec ./spec/genericode/cli/code_lister_spec.rb:37 # Genericode::Cli::CodeLister.list_codes raises an error when an invalid ColumnRef is found
rspec ./spec/genericode/cli/code_lister_spec.rb:60 # Genericode::Cli::CodeLister.list_codes raises an error when a code value is invalid
rspec ./spec/genericode/cli/code_lookup_spec.rb:38 # Genericode::Cli::CodeLookup.lookup looks up a code successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:42 # Genericode::Cli::CodeLookup.lookup looks up a name successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:46 # Genericode::Cli::CodeLookup.lookup looks up a simple value successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:50 # Genericode::Cli::CodeLookup.lookup raises an error for invalid path
rspec ./spec/genericode/cli/converter_spec.rb:16 # Genericode::Cli::Converter.convert converts JSON to XML
rspec ./spec/genericode/cli/validator_spec.rb:27 # Genericode::Cli::Validator.validate validates a valid XML file
rspec ./spec/genericode/code_list_spec.rb[1:3:1:1] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:1:2] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:1:3] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:2:1] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:2:2] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:2:3] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:3:1] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:3:2] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:3:3] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:4:1] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:4:2] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:4:3] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode_spec.rb[1:1:2:1] # Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:2:2] # Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:3:1] # Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:3:2] # Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:4:1] # Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:4:2] # Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:5:1] # Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:5:2] # Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:6:1] # Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:6:2] # Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:7:1] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:7:2] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:8:1] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:8:2] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:9:1] # Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:9:2] # Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:10:1] # Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:10:2] # Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:11:1] # Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:11:2] # Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:12:1] # Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:12:2] # Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:13:1] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:13:2] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:14:1] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:14:2] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:15:1] # Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:15:2] # Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:16:1] # Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:16:2] # Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:17:1] # Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:17:2] # Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:18:1] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:18:2] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:19:1] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:19:2] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:1:1] # Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:1:2] # Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:2:1] # Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:2:2] # Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:3:1] # Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:3:2] # Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:4:1] # Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:4:2] # Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj performs lossless round-trip conversion

@ronaldtse ronaldtse added the enhancement New feature or request label Aug 19, 2024
@ronaldtse
Copy link
Contributor Author

This has to be done after this is merged because the custom method interface will change:

@ronaldtse
Copy link
Contributor Author

Updated lutaml-model for lutaml/lutaml-model#56 and now there are more failures...? (68 vs 64 before)

Failures:

  1) Genericode::Cli::CodeLister.list_codes lists codes from a valid XML file
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
     # ./spec/genericode/cli/code_lister_spec.rb:34:in `block (3 levels) in <top (required)>'

  2) Genericode::Cli::CodeLister.list_codes raises an error when an invalid ColumnRef is found
     Failure/Error: expect { Genericode::Cli::CodeLister.list_codes("invalid.gc") }.to raise_error(Genericode::Error, /INVALID_COLUMN_REF: Invalid ColumnRef 'invalid' in row 1/)
     
       expected Genericode::Error with message matching /INVALID_COLUMN_REF: Invalid ColumnRef 'invalid' in row 1/, got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
         # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lister_spec.rb:57:in `block (3 levels) in <top (required)>'

  3) Genericode::Cli::CodeLister.list_codes raises an error when a code value is invalid
     Failure/Error: expect { Genericode::Cli::CodeLister.list_codes("invalid.gc") }.to raise_error(Genericode::Error, /INVALID_DATA_TYPE: Invalid data type for column 'Code' in row 1/)
     
       expected Genericode::Error with message matching /INVALID_DATA_TYPE: Invalid data type for column 'Code' in row 1/, got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lister.rb:10:in `list_codes'
         # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lister_spec.rb:81:in `block (3 levels) in <top (required)>'

  4) Genericode::Cli::CodeLookup.lookup looks up a code successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:39:in `block (3 levels) in <top (required)>'

  5) Genericode::Cli::CodeLookup.lookup looks up a name successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:43:in `block (3 levels) in <top (required)>'

  6) Genericode::Cli::CodeLookup.lookup looks up a simple value successfully
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
     # ./spec/genericode/cli/code_lookup_spec.rb:47:in `block (3 levels) in <top (required)>'

  7) Genericode::Cli::CodeLookup.lookup raises an error for invalid path
     Failure/Error: expect { Genericode::Cli::CodeLookup.lookup("file.gc", "invalid:path") }.to raise_error(Genericode::Error, "Column not found: invalid")
     
       expected Genericode::Error with "Column not found: invalid", got #<NoMethodError: undefined method `item_order' for an instance of String> with backtrace:
         # ./lib/genericode/code_list.rb:24:in `from_file'
         # ./lib/genericode/cli/code_lookup.rb:7:in `lookup'
         # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (4 levels) in <top (required)>'
         # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (3 levels) in <top (required)>'
     # ./spec/genericode/cli/code_lookup_spec.rb:51:in `block (3 levels) in <top (required)>'

  8) Genericode::Cli::Converter.convert converts JSON to XML
     Failure/Error: from_json(content)
     
     NoMethodError:
       undefined method `key?' for nil
     # ./lib/genericode/code_list.rb:26:in `from_file'
     # ./lib/genericode/cli/converter.rb:13:in `convert'
     # ./spec/genericode/cli/converter_spec.rb:21:in `block (3 levels) in <top (required)>'

  9) Genericode::Cli::Validator.validate validates a valid XML file
     Failure/Error: from_xml(content)
     
     NoMethodError:
       undefined method `item_order' for an instance of String
     # ./lib/genericode/code_list.rb:24:in `from_file'
     # ./lib/genericode/cli/validator.rb:8:in `validate'
     # ./spec/genericode/cli/validator_spec.rb:31:in `block (3 levels) in <top (required)>'

  10) Genericode::Cli::Validator.validate raises an error for empty row set
      Failure/Error: expect { Genericode::Cli::Validator.validate("invalid.gc") }.to raise_error(Genericode::Error, "No rows defined")
      
        expected Genericode::Error with "No rows defined", got #<NoMethodError: undefined method `empty?' for an instance of Genericode::Column> with backtrace:
          # ./lib/genericode/cli/validator.rb:10:in `validate'
          # ./spec/genericode/cli/validator_spec.rb:59:in `block (4 levels) in <top (required)>'
          # ./spec/genericode/cli/validator_spec.rb:59:in `block (3 levels) in <top (required)>'
      # ./spec/genericode/cli/validator_spec.rb:59:in `block (3 levels) in <top (required)>'

  11) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  12) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts JSON to XML correctly
      Failure/Error: model.long_name = LongName.of_json(value)
      
      NoMethodError:
        undefined method `of_json' for class Genericode::LongName
      # ./lib/genericode/identification.rb:42:in `long_name_from_json'
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  13) Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  14) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  15) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: code_list = described_class.from_json(json_content)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  16) Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  17) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  18) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: code_list = described_class.from_json(json_content)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  19) Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  20) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts XML to JSON correctly
      Failure/Error: code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:155:in `block (5 levels) in <top (required)>'

  21) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts JSON to XML correctly
      Failure/Error: code_list = described_class.from_json(json_content)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode/code_list_spec.rb:163:in `block (5 levels) in <top (required)>'

  22) Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
      Failure/Error: xml_code_list = described_class.from_xml(xml_content)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode/code_list_spec.rb:180:in `block (5 levels) in <top (required)>'

  23) Genericode XML round-trip conversion with file xml/niem/make-model.gc provides identical attribute access
      Failure/Error: reparsed = Genericode::CodeList.from_xml(generated)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:30:in `block (5 levels) in <top (required)>'

  24) Genericode XML round-trip conversion with file xml/niem/make-model.gc performs lossless round-trip conversion
      Failure/Error: expect(generated).to be_analogous_with(xml_string)
      
        DIFF 1: expected node: <gc:Agency/>
                actual node  : 
                diff from    : <gc:Agency/>
                diff to      : 
      
        DIFF 2: expected node: <gc:Annotation/>
                actual node  : <Column Id="make" Use="required">
              <ShortName>Make-code</ShortName>
              <Data Type="token"/>
            </Column>
                diff from    : Annotation
                diff to      : Column
      
        DIFF 3: expected node: <gc:ColumnSetRef/>
                actual node  : <SimpleCodeList>
            <Row>
              <Value>
                <SimpleValue>FORD</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Ford</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>FUS</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Fusion</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>HOND</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Honda</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>CIV</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Civic</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>HOND</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Honda</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>CRV</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>CRV</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>SUV</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>DODG</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Dodge</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>R15</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Ram 1500</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Pickup</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>NISS</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Nissan</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>ALT</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Altima</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>FORD</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Ford</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>F15</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>F-150</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Pickup</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>TOYT</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Toyota</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>COA</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Corolla</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>FORD</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Ford</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>500</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Five Hundred</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>HOND</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Honda</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>ACC</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Accord</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>TOYT</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Toyota</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>CAM</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Camry</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>CHEV</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Chevrolet</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>SLV</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Silverado</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Pickup</SimpleValue>
              </Value>
            </Row>
            <Row>
              <Value>
                <SimpleValue>MERZ</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Mercedes-Benz</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>500</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>500 Series</SimpleValue>
              </Value>
              <Value>
                <SimpleValue>Auto</SimpleValue>
              </Value>
            </Row>
          </SimpleCodeList>
                diff from    : ColumnSetRef
                diff to      : SimpleCodeList
      # ./spec/genericode_spec.rb:43:in `block (5 levels) in <top (required)>'

  25) Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  26) Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  27) Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  28) Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  29) Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  30) Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  31) Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  32) Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  33) Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  34) Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  35) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  36) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  37) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  38) Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  39) Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  40) Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  41) Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  42) Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  43) Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  44) Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  45) Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  46) Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  47) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  48) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  49) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  50) Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  51) Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  52) Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  53) Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  54) Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  55) Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  56) Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  57) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  58) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  59) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:24:in `block (5 levels) in <top (required)>'

  60) Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_xml(xml_string)
      
      NoMethodError:
        undefined method `item_order' for an instance of String
      # ./spec/genericode_spec.rb:36:in `block (5 levels) in <top (required)>'

  61) Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj provides identical attribute access
      Failure/Error: model.long_name = LongName.of_json(value)
      
      NoMethodError:
        undefined method `of_json' for class Genericode::LongName
      # ./lib/genericode/identification.rb:42:in `long_name_from_json'
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  62) Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj performs lossless round-trip conversion
      Failure/Error: model.long_name = LongName.of_json(value)
      
      NoMethodError:
        undefined method `of_json' for class Genericode::LongName
      # ./lib/genericode/identification.rb:42:in `long_name_from_json'
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  63) Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  64) Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  65) Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  66) Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

  67) Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj provides identical attribute access
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:57:in `block (5 levels) in <top (required)>'

  68) Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj performs lossless round-trip conversion
      Failure/Error: parsed = Genericode::CodeList.from_json(json_string)
      
      NoMethodError:
        undefined method `key?' for nil
      # ./spec/genericode_spec.rb:66:in `block (5 levels) in <top (required)>'

Finished in 6.02 seconds (files took 0.16123 seconds to load)
94 examples, 68 failures

Failed examples:

rspec ./spec/genericode/cli/code_lister_spec.rb:30 # Genericode::Cli::CodeLister.list_codes lists codes from a valid XML file
rspec ./spec/genericode/cli/code_lister_spec.rb:37 # Genericode::Cli::CodeLister.list_codes raises an error when an invalid ColumnRef is found
rspec ./spec/genericode/cli/code_lister_spec.rb:60 # Genericode::Cli::CodeLister.list_codes raises an error when a code value is invalid
rspec ./spec/genericode/cli/code_lookup_spec.rb:38 # Genericode::Cli::CodeLookup.lookup looks up a code successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:42 # Genericode::Cli::CodeLookup.lookup looks up a name successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:46 # Genericode::Cli::CodeLookup.lookup looks up a simple value successfully
rspec ./spec/genericode/cli/code_lookup_spec.rb:50 # Genericode::Cli::CodeLookup.lookup raises an error for invalid path
rspec ./spec/genericode/cli/converter_spec.rb:16 # Genericode::Cli::Converter.convert converts JSON to XML
rspec ./spec/genericode/cli/validator_spec.rb:27 # Genericode::Cli::Validator.validate validates a valid XML file
rspec ./spec/genericode/cli/validator_spec.rb:54 # Genericode::Cli::Validator.validate raises an error for empty row set
rspec ./spec/genericode/code_list_spec.rb[1:3:1:1] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:1:2] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:1:3] # Genericode::CodeList conversion between XML and JSON with CaseTypeCode.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:2:1] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:2:2] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:2:3] # Genericode::CodeList conversion between XML and JSON with ChannelCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:3:1] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:3:2] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:3:3] # Genericode::CodeList conversion between XML and JSON with CurrencyCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode/code_list_spec.rb[1:3:4:1] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts XML to JSON correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:4:2] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} converts JSON to XML correctly
rspec ./spec/genericode/code_list_spec.rb[1:3:4:3] # Genericode::CodeList conversion between XML and JSON with UnitOfMeasureCode-2.3.{gc,gcj} provides identical attribute access for XML and JSON
rspec ./spec/genericode_spec.rb[1:1:1:1] # Genericode XML round-trip conversion with file xml/niem/make-model.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:1:2] # Genericode XML round-trip conversion with file xml/niem/make-model.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:2:1] # Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:2:2] # Genericode XML round-trip conversion with file xml/standard/CaseTypeCode.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:3:1] # Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:3:2] # Genericode XML round-trip conversion with file xml/standard/ChannelCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:4:1] # Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:4:2] # Genericode XML round-trip conversion with file xml/standard/CurrencyCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:5:1] # Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:5:2] # Genericode XML round-trip conversion with file xml/standard/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:6:1] # Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:6:2] # Genericode XML round-trip conversion with file xml/ubl/AllowanceChargeReasonCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:7:1] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:7:2] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3-incl-deprecated.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:8:1] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:8:2] # Genericode XML round-trip conversion with file xml/ubl/BinaryObjectMimeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:9:1] # Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:9:2] # Genericode XML round-trip conversion with file xml/ubl/ChannelCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:10:1] # Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:10:2] # Genericode XML round-trip conversion with file xml/ubl/CountryIdentificationCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:11:1] # Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:11:2] # Genericode XML round-trip conversion with file xml/ubl/CurrencyCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:12:1] # Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:12:2] # Genericode XML round-trip conversion with file xml/ubl/LanguageCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:13:1] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:13:2] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3-incl-deleted.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:14:1] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:14:2] # Genericode XML round-trip conversion with file xml/ubl/PackagingTypeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:15:1] # Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:15:2] # Genericode XML round-trip conversion with file xml/ubl/PaymentMeansCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:16:1] # Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:16:2] # Genericode XML round-trip conversion with file xml/ubl/TransportEquipmentTypeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:17:1] # Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:17:2] # Genericode XML round-trip conversion with file xml/ubl/TransportModeCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:18:1] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:18:2] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3-incl-deleted.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:1:19:1] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc provides identical attribute access
rspec ./spec/genericode_spec.rb[1:1:19:2] # Genericode XML round-trip conversion with file xml/ubl/UnitOfMeasureCode-2.3.gc performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:1:1] # Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:1:2] # Genericode JSON round-trip conversion with file json/standard/CaseTypeCode.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:2:1] # Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:2:2] # Genericode JSON round-trip conversion with file json/standard/ChannelCode-2.3.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:3:1] # Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:3:2] # Genericode JSON round-trip conversion with file json/standard/CurrencyCode-2.3.gcj performs lossless round-trip conversion
rspec ./spec/genericode_spec.rb[1:2:4:1] # Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj provides identical attribute access
rspec ./spec/genericode_spec.rb[1:2:4:2] # Genericode JSON round-trip conversion with file json/standard/UnitOfMeasureCode-2.3.gcj performs lossless round-trip conversion

@HassanAkbar
Copy link
Member

This should be fixed after merging PR lutaml/lutaml-model#62.

@ronaldtse
Copy link
Contributor Author

Thank you @HassanAkbar ! This is perfect.

@ronaldtse ronaldtse merged commit f37db07 into main Aug 28, 2024
11 of 14 checks passed
@ronaldtse ronaldtse deleted the rt-migrate-lutaml branch August 28, 2024 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switch to use lutaml-model away from Shale
2 participants