rtm 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
+