lutaml-xmi 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,28 +58,65 @@ RSpec.describe Lutaml::XMI::Parsers::XML do
58
58
  verification
59
59
  ]
60
60
  end
61
+ let(:expected_attributes_types) do
62
+ %w[
63
+ EAJava_ClassificationType_0..___
64
+ EAJava_RequirementSubpart_0..___
65
+ EAJava_String_0..1__
66
+ EAJava_String_
67
+ EAJava_RequirementSubpart_0..___
68
+ EAJava_String_0..___
69
+ EAJava_boolean_0..1__
70
+ EAJava_boolean_0..1__
71
+ EAJava_String_0..1__
72
+ EAJava_RequirementSubpart_0..___
73
+ EAJava_String_0..1__
74
+ EAJava_String_0..1__
75
+ EAJava_ObligationType_1..___
76
+ EAJava_BibliographicItem_0..1__
77
+ EAJava_RequirementSubpart_0..___
78
+ EAJava_String_0..1__
79
+ EAJava_RequirementSubpart_0..___
80
+ EAJava_String_0..1__
81
+ EAJava_FormattedString_0..1__
82
+ EAJava_String_0..1__
83
+ EAJava_boolean_0..1__
84
+ EAJava_RequirementSubpart_0..___
85
+ ]
86
+ end
87
+ let(:first_package) { parse.packages.first }
88
+ let(:first_nested_package) { parse.packages.first.packages.first }
61
89
 
62
90
  it "parses xml file into Lutaml::Uml::Node::Document object" do
63
91
  expect(parse).to(be_instance_of(::Lutaml::Uml::Document))
64
92
  end
65
93
 
66
- it "correctly parses entities of class type" do
67
- expect(parse.classes.map(&:name)).to(eq(expected_class_names))
68
- expect(parse.classes.map(&:xmi_id)).to(eq(expected_class_xmi_ids))
94
+ it "correctly parses package tree" do
95
+ expect(parse.packages.map(&:name)).to(eq(['ISO 19170-1 Edition 1']))
96
+ expect(first_package.packages.map(&:name))
97
+ .to(eq(["requirement type class diagram", "Common Spatio-temporal Classes"]))
98
+ expect(first_package.packages.last.packages.map(&:name))
99
+ .to(eq(["Temporal and Zonal Geometry", "Temporal and Zonal RS using Identifiers"]))
100
+ end
101
+
102
+ it "correctly parses package` classes" do
103
+ expect(first_nested_package.classes.map(&:name)).to(eq(expected_class_names))
104
+ expect(first_nested_package.classes.map(&:xmi_id)).to(eq(expected_class_xmi_ids))
69
105
  end
70
106
 
71
107
  it "correctly parses entities of enums type" do
72
- expect(parse.enums.map(&:name)).to(eq(expected_enum_names))
73
- expect(parse.enums.map(&:xmi_id)).to(eq(expected_enum_xmi_ids))
108
+ expect(first_nested_package.enums.map(&:name)).to(eq(expected_enum_names))
109
+ expect(first_nested_package.enums.map(&:xmi_id)).to(eq(expected_enum_xmi_ids))
74
110
  end
75
111
 
76
112
  it "correctly parses entities and attributes for class" do
77
- klass = parse.classes.find { |entity| entity.name == 'RequirementType' }
113
+ klass = first_nested_package.classes.find { |entity| entity.name == 'RequirementType' }
78
114
  expect(klass.attributes.map(&:name)).to(eq(expected_attributes_names))
115
+ expect(klass.attributes.map(&:type)).to(eq(expected_attributes_types))
79
116
  end
80
117
 
81
118
  it "correctly parses associations for class" do
82
- klass = parse.classes.find { |entity| entity.name == 'BibliographicItem' }
119
+ klass = first_nested_package.classes.find { |entity| entity.name == 'BibliographicItem' }
83
120
  expect(klass.associations.map(&:member_end)).to(eq(['RequirementType']))
84
121
  end
85
122
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lutaml-xmi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-20 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: lutaml-uml
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0.2'
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0.2'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement