rtm 0.2.1 → 0.3.0

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.
Files changed (41) hide show
  1. data/README +1 -1
  2. data/lib/rtm.rb +23 -95
  3. data/lib/rtm/connection.rb +51 -0
  4. data/lib/rtm/engine.rb +29 -18
  5. data/lib/rtm/extensions.rb +2 -5
  6. data/lib/rtm/helpers/uri.rb +1 -1
  7. data/lib/rtm/io/tmapix_from.rb +8 -8
  8. data/lib/rtm/io/tmapix_to.rb +6 -6
  9. data/lib/rtm/io/to_rdf.rb +1 -1
  10. data/lib/rtm/io/to_string.rb +22 -14
  11. data/lib/rtm/navigation/topic/supertypes.rb +2 -2
  12. data/lib/rtm/navigation/topic/types.rb +1 -1
  13. data/lib/rtm/psi.rb +3 -1
  14. data/lib/rtm/sugar.rb +8 -3
  15. data/lib/rtm/sugar/topic/best_name.rb +31 -50
  16. data/lib/rtm/sugar/topic/scoped.rb +9 -9
  17. data/lib/rtm/sugar/topic/topic_ref.rb +115 -72
  18. data/lib/rtm/sugar/topic_map/remove.rb +49 -0
  19. data/lib/rtm/sugar/topic_map/{themes.rb → scoped.rb} +9 -10
  20. data/lib/rtm/sugar/topic_map/types.rb +50 -0
  21. data/lib/rtm/sugar/variant/topic.rb +17 -0
  22. data/lib/rtm/topology.rb +134 -0
  23. data/lib/rtm/version.rb +13 -8
  24. data/spec/rtm/engine_spec.rb +45 -0
  25. data/spec/rtm/io/tmapix_from_spec.rb +8 -8
  26. data/spec/rtm/io/tmapix_to_spec.rb +38 -38
  27. data/spec/rtm/io/to_yaml_spec.rb +7 -0
  28. data/spec/rtm/javatmapi_spec.rb +64 -0
  29. data/spec/rtm/navigation/topic/scope_spec.rb +1 -1
  30. data/spec/rtm/sugar/topic/best_name_spec.rb +54 -2
  31. data/spec/rtm/sugar/topic/topic_ref_spec.rb +59 -35
  32. data/spec/rtm/sugar/topic_map/remove_spec.rb +50 -0
  33. data/spec/rtm/sugar/topic_map/{themes_spec.rb → scoped_spec.rb} +1 -1
  34. data/spec/rtm/sugar/topic_map/types_spec.rb +34 -0
  35. data/spec/rtm/sugar/variant/topic_spec.rb +28 -0
  36. data/spec/rtm/tmapi/core/name_spec.rb +1 -7
  37. data/spec/rtm/tmapi/core/topic_map_spec.rb +103 -51
  38. data/spec/rtm/tmapi/core/topic_spec.rb +3 -0
  39. data/spec/rtm_spec.rb +3 -12
  40. data/test/javalibs/tmapi-2.0-tests.jar +0 -0
  41. metadata +26 -9
@@ -26,11 +26,11 @@ module RTM::IO::TmapiXTo::TopicMap
26
26
  it "should serialize a topic map to a file given a base iri" do
27
27
  @tm.to_xtm20(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.xtm20", "http://www.example.org/testtm").should be_true
28
28
  end
29
- it "should serialize a topic map to a java.io.Stream" do
30
- @tm.to_xtm20(java.io.ByteArrayOutputStream.new).should be_true
29
+ it "should serialize a topic map to a Java::JavaIo::Stream" do
30
+ @tm.to_xtm20(Java::JavaIo::ByteArrayOutputStream.new).should be_true
31
31
  end
32
32
  it "should be the case that the xtm20 writer does not respond to :setProperty" do
33
- org.tmapix.io.XTM20TopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
33
+ Java::OrgTmapixIo::XTM20TopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
34
34
  end
35
35
  it "should provide an alias for to_xtm" do
36
36
  @tm.method(:to_xtm).should == @tm.method(:to_xtm20)
@@ -53,11 +53,11 @@ module RTM::IO::TmapiXTo::TopicMap
53
53
  it "should serialize a topic map to a file given a base iri" do
54
54
  @tm.to_xtm10(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.xtm10", "http://www.example.org/testtm").should be_true
55
55
  end
56
- it "should serialize a topic map to a java.io.Stream" do
57
- @tm.to_xtm10(java.io.ByteArrayOutputStream.new).should be_true
56
+ it "should serialize a topic map to a Java::JavaIo::Stream" do
57
+ @tm.to_xtm10(Java::JavaIo::ByteArrayOutputStream.new).should be_true
58
58
  end
59
59
  it "should be the case that the xtm10 writer does not respond to :setProperty" do
60
- org.tmapix.io.XTM10TopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
60
+ Java::OrgTmapixIo::XTM10TopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
61
61
  end
62
62
  it "should provide an alias for to_xtm1" do
63
63
  @tm.method(:to_xtm1).should == @tm.method(:to_xtm10)
@@ -77,13 +77,13 @@ module RTM::IO::TmapiXTo::TopicMap
77
77
  it "should serialize a topic map to a file given a base iri" do
78
78
  @tm.to_jtm(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.jtm", "http://www.example.org/testtm").should be_true
79
79
  end
80
- it "should serialize a topic map to a java.io.Stream" do
81
- @tm.to_jtm(java.io.ByteArrayOutputStream.new).should be_true
80
+ it "should serialize a topic map to a Java::JavaIo::Stream" do
81
+ @tm.to_jtm(Java::JavaIo::ByteArrayOutputStream.new).should be_true
82
82
  end
83
- it "should be the case that the xtm10 writer does not respond to :setProperty" do
84
- org.tmapix.io.JTMTopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
83
+ it "should be the case that the jtm writer does not respond to :setProperty" do
84
+ Java::OrgTmapixIo::JTMTopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
85
85
  end
86
- it "should provide an alias fpr to_json" do
86
+ it "should provide an alias for to_json" do
87
87
  @tm.method(:to_json).should == @tm.method(:to_jtm)
88
88
  end
89
89
  end
@@ -101,34 +101,34 @@ module RTM::IO::TmapiXTo::TopicMap
101
101
  it "should serialize a topic map to a file given a base iri" do
102
102
  @tm.to_ltm(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.ltm", "http://www.example.org/testtm").should be_true
103
103
  end
104
- it "should serialize a topic map to a java.io.Stream" do
105
- @tm.to_ltm(java.io.ByteArrayOutputStream.new).should be_true
104
+ it "should serialize a topic map to a Java::JavaIo::Stream" do
105
+ @tm.to_ltm(Java::JavaIo::ByteArrayOutputStream.new).should be_true
106
106
  end
107
- it "should be the case that the xtm10 writer does not respond to :setProperty" do
108
- org.tmapix.io.LTMTopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
107
+ it "should be the case that the ltm writer does not respond to :setProperty" do
108
+ Java::OrgTmapixIo::LTMTopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
109
109
  end
110
110
  end
111
111
 
112
- describe "#to_tmxml" do
113
- before(:each) do
114
- @tm.from_ctm(File.dirname(__FILE__) + "/../../resources/toyTM.ctm")
115
- end
116
- it "should serialize a topic map to String" do
117
- @tm.to_tmxml.should be_a_kind_of String
118
- end
119
- it "should serialize a topic map to a file" do
120
- @tm.to_tmxml(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.tmxml").should be_true
121
- end
122
- it "should serialize a topic map to a file given a base iri" do
123
- @tm.to_tmxml(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.tmxml", "http://www.example.org/testtm").should be_true
124
- end
125
- it "should serialize a topic map to a java.io.Stream" do
126
- @tm.to_tmxml(java.io.ByteArrayOutputStream.new).should be_true
127
- end
128
- it "should be the case that the xtm10 writer does not respond to :setProperty" do
129
- org.tmapix.io.TMXMLTopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
130
- end
131
- end
112
+ # describe "#to_tmxml" do
113
+ # before(:each) do
114
+ # @tm.from_tmxml(File.dirname(__FILE__) + "/../../resources/toyTM.tmxml")
115
+ # end
116
+ # it "should serialize a topic map to String" do
117
+ # @tm.to_tmxml.should be_a_kind_of String
118
+ # end
119
+ # it "should serialize a topic map to a file" do
120
+ # @tm.to_tmxml(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.tmxml").should be_true
121
+ # end
122
+ # it "should serialize a topic map to a file given a base iri" do
123
+ # @tm.to_tmxml(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.tmxml", "http://www.example.org/testtm").should be_true
124
+ # end
125
+ # it "should serialize a topic map to a Java::JavaIo::Stream" do
126
+ # @tm.to_tmxml(Java::JavaIo::ByteArrayOutputStream.new).should be_true
127
+ # end
128
+ # it "should be the case that the tmxml writer does not respond to :setProperty" do
129
+ # Java::OrgTmapixIo::TMXMLTopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should_not respond_to(:setProperty)
130
+ # end
131
+ # end
132
132
 
133
133
  describe "#to_ctm" do
134
134
  before(:each) do
@@ -143,11 +143,11 @@ module RTM::IO::TmapiXTo::TopicMap
143
143
  it "should serialize a topic map to a file given a base iri" do
144
144
  @tm.to_ctm(File.dirname(__FILE__) + "/../../resources/toyTM_after_spec.ctm", "http://www.example.org/testtm").should be_true
145
145
  end
146
- it "should serialize a topic map to a java.io.Stream" do
147
- @tm.to_ctm(java.io.ByteArrayOutputStream.new).should be_true
146
+ it "should serialize a topic map to a Java::JavaIo::Stream" do
147
+ @tm.to_ctm(Java::JavaIo::ByteArrayOutputStream.new).should be_true
148
148
  end
149
149
  it "should be the case that the xtm10 writer does respond to :setProperty" do
150
- de.topicmapslab.ctm.writer.core.CTMTopicMapWriter.new(java.io.ByteArrayOutputStream.new,"http://www.example.org/testtm").should respond_to(:setProperty)
150
+ Java::DeTopicmapslabCtmWriterCore::CTMTopicMapWriter.new(Java::JavaIo::ByteArrayOutputStream.new,"http://www.example.org/testtm").should respond_to(:setProperty)
151
151
  end
152
152
  it "should read it afterwards" do
153
153
  emptyTM = get_used_tm_sys.create("http://blub.org/")
@@ -33,6 +33,7 @@ module RTM::IO::ToYAML
33
33
  @tm.should be_a_kind_of RTM::TopicMap
34
34
  end
35
35
  it "should give back a String" do
36
+ pending
36
37
  @output = @tm.to_yaml
37
38
  end
38
39
  end
@@ -41,6 +42,7 @@ module RTM::IO::ToYAML
41
42
  @topic.should be_a_kind_of RTM::Topic
42
43
  end
43
44
  it "should give back a String" do
45
+ pending
44
46
  @output = @topic.to_yaml
45
47
  end
46
48
  end
@@ -49,6 +51,7 @@ module RTM::IO::ToYAML
49
51
  @assoc.should be_a_kind_of RTM::Association
50
52
  end
51
53
  it "should give back a String" do
54
+ pending
52
55
  @output = @assoc.to_yaml
53
56
  end
54
57
  end
@@ -57,6 +60,7 @@ module RTM::IO::ToYAML
57
60
  @role.should be_a_kind_of RTM::Role
58
61
  end
59
62
  it "should give back a String" do
63
+ pending
60
64
  @output = @role.to_yaml
61
65
  end
62
66
  end
@@ -65,6 +69,7 @@ module RTM::IO::ToYAML
65
69
  @name.should be_a_kind_of RTM::Name
66
70
  end
67
71
  it "should give back a String" do
72
+ pending
68
73
  @output = @name.to_yaml
69
74
  end
70
75
  end
@@ -73,6 +78,7 @@ module RTM::IO::ToYAML
73
78
  @occ.should be_a_kind_of RTM::Occurrence
74
79
  end
75
80
  it "should give back a String" do
81
+ pending
76
82
  @output = @occ.to_yaml
77
83
  end
78
84
  end
@@ -81,6 +87,7 @@ module RTM::IO::ToYAML
81
87
  @var.should be_a_kind_of RTM::Variant
82
88
  end
83
89
  it "should give back a String" do
90
+ pending
84
91
  @output = @var.to_yaml
85
92
  end
86
93
  end
@@ -0,0 +1,64 @@
1
+ # Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
2
+ # License: Apache License, Version 2.0
3
+
4
+ require File.dirname(__FILE__) + '/../spec_helper'
5
+
6
+ module RTM
7
+
8
+ describe "JavaTMAPI" do
9
+
10
+ describe "#create" do
11
+ it "should give always give back the same topic map" do
12
+ tm_identifier = "http://www.exampl.org/test/"
13
+ engine = RTM.connect(:implementation => implementation_for_spec)
14
+ tm = engine.create(tm_identifier)
15
+ 1000.times do
16
+ tm_other = engine.create(tm_identifier)
17
+ tm_other.should == tm
18
+ tm_other.engine.should_not be_nil
19
+ tm_other.prefixes.should_not be_empty
20
+ end
21
+ end
22
+ it "should raise an error if topic map identifier is relative" do
23
+ tm_identifier = "www.exampl.org/test/"
24
+ engine = RTM.connect(:implementation => implementation_for_spec)
25
+ if implementation_for_spec == :tinytim
26
+ pending do
27
+ lambda{engine.create(tm_identifier)}.should raise_error
28
+ end
29
+ else
30
+ lambda{engine.create(tm_identifier)}.should raise_error
31
+ end
32
+ end
33
+ it "should be tested"
34
+ end
35
+
36
+ describe "#delete" do
37
+ it "should delete a topic map" do
38
+ tm_identifier = "http://www.exampl.org/test/"
39
+ engine = RTM.connect(:implementation => implementation_for_spec)
40
+ tm = engine.create(tm_identifier)
41
+ tm.should be_a_kind_of RTM::TopicMap
42
+ tm.create_topic
43
+ tm.create_association(tm.create_topic)
44
+ engine.tms.getTopicMap(tm_identifier).should_not be_nil
45
+ engine.delete(tm_identifier)
46
+ engine.tms.getTopicMap(tm_identifier).should be_nil
47
+ end
48
+ end
49
+
50
+ describe "#existing?" do
51
+ it "should tell if the map is existing" do
52
+ tm_identifier = "http://www.exampl.org/test/"
53
+ engine = RTM.connect(:implementation => implementation_for_spec)
54
+ engine.existing?(tm_identifier).should_not be_true
55
+ tm = engine.create(tm_identifier)
56
+ engine.existing?(tm_identifier).should be_true
57
+ engine.delete(tm_identifier)
58
+ engine.existing?(tm_identifier).should_not be_true
59
+ end
60
+ end
61
+
62
+ end # of describe self
63
+
64
+ end
@@ -9,7 +9,7 @@ module RTM::Navigation::Topic
9
9
  @tm = get_used_tm_sys_tm
10
10
  @topic = @tm.get!("nikolaus")
11
11
 
12
- puts @topic.class.ancestors
12
+ # puts @topic.class.ancestors
13
13
 
14
14
  end
15
15
  after(:each) do
@@ -15,10 +15,62 @@ module RTM::Sugar::Topic::BestName
15
15
  describe "#best_name" do
16
16
  before(:each) do
17
17
  @topic = @tm.get!("Leipzig")
18
+ @topic.add_si("LE")
19
+ @topic.add_ii("http://example.org/id-10")
20
+ @topic.add_ii("1")
18
21
  end
19
- it "should return a String" do
22
+ after(:each) do
20
23
  @topic.best_name.should be_a_kind_of String
21
- #puts @topic.best_name
24
+ end
25
+ it "should return an identfier if the topic has no name, resolved" do
26
+ @topic.best_name.should == "LE"
27
+ end
28
+ it "should give back the name if the topic has one name" do
29
+ @topic["-city-name"] = "Leipzig"
30
+ @topic.best_name.should == "Leipzig"
31
+ end
32
+ it "should give back the default name if the topic has several names" do
33
+ @topic["-city-name"] = "Leipzig"
34
+ @topic["-"] = "Leipzisch"
35
+ @topic.best_name.should == "Leipzisch"
36
+ end
37
+ it "should give back the default name with the smallest value if the topic has several names" do
38
+ @topic["-city-name"] = "Leipzig"
39
+ @topic["-"] = "LE"
40
+ @topic["-"] = "Leipzisch"
41
+ @topic.best_name.should == "LE"
42
+ end
43
+ it "should give back the default name with the smallest value sorted alphabetically if the topic has several names" do
44
+ @topic["-city-name"] = "Leipzig"
45
+ @topic["-"] = "LE"
46
+ @topic["-"] = "Leipzisch"
47
+ @topic["-"] = "LA"
48
+ @topic.best_name.should == "LA"
49
+ end
50
+ it "should give back the name with the given theme" do
51
+ @topic["-city-name name @test_theme"] = "Leipzig"
52
+ @topic["-"] = "LE"
53
+ @topic["-"] = "Leipzisch"
54
+ @topic["-"] = "LA"
55
+ test_theme = @tm.get("test_theme")
56
+ test_theme.should_not be_nil
57
+ @topic.best_name(test_theme).should == "Leipzig"
58
+ end
59
+ it "should give back the name with the given theme preferring default names" do
60
+ @topic["-city-name name @test_theme"] = "Leipzig"
61
+ @topic["-"] = "LE"
62
+ @topic["- @test_theme"] = "Leipzisch"
63
+ @topic["- @test_theme_other"] = "LA"
64
+ test_theme = @tm.get("test_theme")
65
+ test_theme.should_not be_nil
66
+ @topic.best_name(test_theme).should == "Leipzisch"
67
+ end
68
+ end
69
+
70
+ describe "#shortest_topic_identifier" do
71
+ it "should give back the shortest most significant identifier in yaml-style" do
72
+ topic = @tm.get!("LE")
73
+ topic.shortest_topic_identifier.should == "si:LE"
22
74
  end
23
75
  end
24
76
  end
@@ -3,42 +3,66 @@
3
3
 
4
4
  require File.dirname(__FILE__) + '/../../../spec_helper'
5
5
 
6
- module Sugar
7
- module Topic
8
- module TopicRef
9
- describe self do
10
- before(:each) do
11
- @tm = get_used_tm_sys_tm
12
- @topic = @tm.get!("ii:uni_leipzig")
6
+ module RTM::Sugar::Topic::TopicRef
7
+ describe self do
8
+ before(:each) do
9
+ @tm = get_used_tm_sys_tm
10
+ @topic_with_ii = @tm.get!("ii:uni-leipzig")
11
+ @topic_with_si = @tm.get!("si:uni-berlin")
12
+ @topic_with_sl = @tm.get!("sl:uni-munich")
13
+ end
14
+ after(:each) do
15
+ @tm.close
16
+ end
17
+ describe "#references" do
18
+ it "should not give back an empty Array" do
19
+ @topic_with_si.references.should_not be_empty
20
+ end
21
+ it "should give back an item identifier that starts with an ^" do
22
+ @topic_with_ii.references.first[0].should == ?^
23
+ @topic_with_ii.references.should include("^http://www.topicmapslab.de/uni-leipzig")
24
+ end
25
+ it "should give back a subject locator that starts with a ^=" do
26
+ @topic_with_sl.references.first[0].should == ?=
27
+ @topic_with_sl.references.should include("=http://www.topicmapslab.de/uni-munich")
28
+ end
29
+ it "should give back a subject identifier start does not start with a special character" do
30
+ @topic_with_si.references.first[0].should == ?h
31
+ @topic_with_si.references.should include("http://www.topicmapslab.de/uni-berlin")
32
+ end
33
+
34
+ describe ":resolve_qnames => :true" do
35
+ it "should resolve the qnames" do
36
+ @tm.add_prefix("tml", "http://www.topicmapslab.de/")
37
+ @topic_with_ii.references(:resolve_qnames => :true).first[0].should == ?^
38
+ @topic_with_ii.references(:resolve_qnames => :true).should include("^tml:uni-leipzig")
39
+ @topic_with_sl.references(:resolve_qnames => :true).first[0].should == ?=
40
+ @topic_with_sl.references(:resolve_qnames => :true).should include("=tml:uni-munich")
41
+ @topic_with_si.references(:resolve_qnames => :true).first[0].should == ?t
42
+ @topic_with_si.references(:resolve_qnames => :true).should include("tml:uni-berlin")
13
43
  end
14
- after(:each) do
15
- @tm.close
44
+ it "should resolve the qnames for a topic with many identifiers" do
45
+ topic = @tm.get!("http://www.example.org/si")
46
+ topic.add_subject_identifier("http://www.example.net/si")
47
+ topic.add_item_identifier("http://www.example.org/i i")
48
+ topic.add_item_identifier("http://www.example.net/i i")
49
+ topic.add_subject_locator("http://www.example.org/there#sl")
50
+ topic.add_subject_locator("http://www.example.net/sl")
51
+ @tm.add_prefix("example", "http://www.example.org/")
52
+ topic.references(:outputstyle => :yaml, :resolve_qnames => :true).size.should == 6
53
+ topic.references(:outputstyle => :yaml, :resolve_qnames => :true).should include("si:example:si", "si:http://www.example.net/si", "ii:example:i i", "ii:http://www.example.net/i i", "sl:example:there#sl", "sl:http://www.example.net/sl")
54
+ end
55
+ end
56
+
57
+ describe "#unresolve" do
58
+ it "should unresolve an iri that starts with the base iri of the parent topic map" do
59
+ topic = @tm.get!("Leipzig")
60
+ identifier = "http://www.topicmapslab.de/Leipzig"
61
+ topic.reference.should == identifier
62
+ topic.unresolve(identifier).should == "Leipzig"
16
63
  end
17
- describe "#references" do
18
- it "should not give back an empty Array" do
19
- @topic.references.should_not be_empty
20
- end
21
- it "should give back an item identifier that starts with a ^" do
22
- pending if implementation_for_spec == :ontopia
23
- @topic.references.first[0].should == ?^
24
- @topic.references.should include("^http://www.topicmapslab.de/uni_leipzig")
25
- end
26
- it "should give back subject locators also" do
27
- pending if implementation_for_spec == :ontopia
28
- @topic.addSubjectLocator(@tm.create_locator("uni_leipzig"))
29
- @topic.references.size.should == 2
30
- @topic.references.should include("^http://www.topicmapslab.de/uni_leipzig")
31
- @topic.references.should include("=http://www.topicmapslab.de/uni_leipzig")
32
- end
33
- it "should give back subject identifiers also" do
34
- pending if implementation_for_spec == :ontopia
35
- @topic.add_subject_identifier(@tm.create_locator("uni_leipzig"))
36
- @topic.references.size.should == 2
37
- @topic.references.should include("^http://www.topicmapslab.de/uni_leipzig")
38
- @topic.references.should include("http://www.topicmapslab.de/uni_leipzig")
39
- end
40
- end #of describe "#identifiers"
41
- end #of describe self
64
+ it "should not raise an error"
65
+ end
42
66
  end
43
- end
67
+ end #of describe self
44
68
  end
@@ -0,0 +1,50 @@
1
+ # Copyright: Copyright 2009 Topic Maps Lab, University of Leipzig.
2
+ # License: Apache License, Version 2.0
3
+
4
+ require File.dirname(__FILE__) + '/../../../spec_helper'
5
+
6
+ module RTM::Sugar::TopicMap
7
+ module Remove
8
+ describe self do
9
+ before(:each) do
10
+ @tm = get_used_tm_sys_tm
11
+ @tm.from_xtm(File.dirname(__FILE__) + "/../../../resources/toyTM.xtm")
12
+ end
13
+
14
+ it "should respond to remove_everything" do
15
+ @tm.should respond_to(:clear)
16
+ end
17
+
18
+ describe "#clear" do
19
+ before(:each) do
20
+ @tm.variants.should_not be_empty
21
+ @tm.names.should_not be_empty
22
+ @tm.occurrences.should_not be_empty
23
+ @tm.roles.should_not be_empty
24
+ @tm.associations.should_not be_empty
25
+ @tm.topics.should_not be_empty
26
+ @tm.clear
27
+ end
28
+ it "should remove all variants" do
29
+ @tm.variants.should be_empty
30
+ end
31
+ it "should remove all names" do
32
+ @tm.names.should be_empty
33
+ end
34
+ it "should remove all occurrences" do
35
+ @tm.occurrences.should be_empty
36
+ end
37
+ it "should remove all roles" do
38
+ @tm.roles.should be_empty
39
+ end
40
+ it "should remove all associations" do
41
+ @tm.associations.should be_empty
42
+ end
43
+ it "should remove all topics" do
44
+ @tm.topics.should be_empty
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+