dbd 0.0.11 → 0.0.12
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.
- checksums.yaml +4 -4
- data/Guardfile +0 -1
- data/HISTORY.txt +9 -0
- data/README.md +47 -39
- data/bin/test_1.rb +4 -4
- data/bin/test_5.rb +4 -4
- data/docs/test.rb +11 -11
- data/lib/dbd.rb +2 -2
- data/lib/dbd/context.rb +65 -0
- data/lib/dbd/context_fact.rb +76 -0
- data/lib/dbd/errors.rb +1 -1
- data/lib/dbd/fact.rb +37 -37
- data/lib/dbd/fact/collection.rb +5 -5
- data/lib/dbd/fact/factory.rb +6 -6
- data/lib/dbd/graph.rb +2 -2
- data/lib/dbd/resource.rb +25 -24
- data/lib/dbd/version.rb +1 -1
- data/spec/lib/dbd/context/context_spec.rb +74 -0
- data/spec/lib/dbd/context_fact/methods_spec.rb +79 -0
- data/spec/lib/dbd/context_fact/new_spec.rb +51 -0
- data/spec/lib/dbd/context_fact/test_factories_spec.rb +24 -0
- data/spec/lib/dbd/errors/errors_spec.rb +30 -0
- data/spec/lib/dbd/fact/collection/collection_spec.rb +58 -58
- data/spec/lib/dbd/fact/factory/factory_spec.rb +3 -3
- data/spec/lib/dbd/fact/methods_spec.rb +12 -12
- data/spec/lib/dbd/fact/new_spec.rb +9 -9
- data/spec/lib/dbd/fact/subject/test_factories_spec.rb +4 -4
- data/spec/lib/dbd/fact/test_factories_spec.rb +18 -18
- data/spec/lib/dbd/graph/add_to_graph_spec.rb +22 -22
- data/spec/lib/dbd/graph/from_csv_spec.rb +16 -16
- data/spec/lib/dbd/graph/test_factories_spec.rb +11 -11
- data/spec/lib/dbd/graph/to_csv_spec.rb +18 -18
- data/spec/lib/dbd/performance_spec.rb +4 -4
- data/spec/lib/dbd/resource/collection_spec.rb +28 -30
- data/spec/lib/dbd/resource/new_spec.rb +10 -11
- data/spec/lib/dbd/resource/test_factories_spec.rb +8 -7
- data/spec/lib/dbd/version/version_spec.rb +9 -0
- data/spec/test_factories/context.rb +16 -0
- data/spec/test_factories/{provenance_fact.rb → context_fact.rb} +6 -6
- data/spec/test_factories/fact.rb +23 -23
- data/spec/test_factories/fact/subject.rb +1 -1
- data/spec/test_factories/graph.rb +7 -7
- data/spec/test_factories/resource.rb +15 -10
- metadata +20 -16
- data/lib/dbd/provenance_fact.rb +0 -77
- data/lib/dbd/provenance_resource.rb +0 -63
- data/spec/lib/dbd/provenance_fact/methods_spec.rb +0 -78
- data/spec/lib/dbd/provenance_fact/new_spec.rb +0 -51
- data/spec/lib/dbd/provenance_fact/test_factories_spec.rb +0 -24
- data/spec/lib/dbd/provenance_resource/provenance_resource_spec.rb +0 -75
- data/spec/test_factories/provenance_resource.rb +0 -16
@@ -1,78 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Dbd
|
4
|
-
describe ProvenanceFact do
|
5
|
-
|
6
|
-
let(:subject) { described_class.factory.new_subject }
|
7
|
-
|
8
|
-
let(:provenance_fact_1) do
|
9
|
-
TestFactories::ProvenanceFact.context(subject)
|
10
|
-
end
|
11
|
-
|
12
|
-
let(:provenance_fact_created) do
|
13
|
-
TestFactories::ProvenanceFact.created(subject)
|
14
|
-
end
|
15
|
-
|
16
|
-
describe 'short' do
|
17
|
-
it 'for a provenance fact shows [ prov ], subj, predicate, object' do
|
18
|
-
provenance_fact_1.short.should match(/^\[ prov \] : [0-9a-f]{8} : https:\/\/data\.vandenabeel : public$/)
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'for a provenance fact with non string object also works' do
|
22
|
-
provenance_fact_created.short.should match(/^\[ prov \] : [0-9a-f]{8} : dcterms:created : \d{4}/)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
describe 'errors' do
|
27
|
-
it 'the factory has no errors' do
|
28
|
-
provenance_fact_1.errors.should be_empty
|
29
|
-
end
|
30
|
-
|
31
|
-
describe 'with a provenance_subject' do
|
32
|
-
|
33
|
-
before(:each) do
|
34
|
-
provenance_fact_1.stub(:provenance_subject).and_return(subject)
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'errors returns an array with 1 error message' do
|
38
|
-
provenance_fact_1.errors.single.should match(/Provenance subject should not be present in Provenance Fact/)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe 'without subject' do
|
43
|
-
|
44
|
-
before(:each) do
|
45
|
-
provenance_fact_1.stub(:subject).and_return(nil)
|
46
|
-
end
|
47
|
-
|
48
|
-
it 'errors returns an array with an error message' do
|
49
|
-
provenance_fact_1.errors.single.should match(/Subject is missing/)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
describe 'update_used_provenance_subjects' do
|
55
|
-
it 'does nothing for a provenance_fact' do
|
56
|
-
h = {}
|
57
|
-
provenance_fact_1.update_used_provenance_subjects(h)
|
58
|
-
h.should be_empty
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
describe 'attributes and values' do
|
63
|
-
it 'there are 6 attributes' do
|
64
|
-
described_class.attributes.size.should == 6
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'there are 6 values' do
|
68
|
-
provenance_fact_1.values.size.should == 6
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe 'provenance_fact?' do
|
73
|
-
it 'is true for ProvenanceFact or derived from it' do
|
74
|
-
provenance_fact_1.provenance_fact?.should be_true
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Dbd
|
4
|
-
describe ProvenanceFact do
|
5
|
-
|
6
|
-
let(:subject) { described_class.factory.new_subject }
|
7
|
-
let(:id_class) { described_class.factory.new_id.class }
|
8
|
-
|
9
|
-
let(:provenance_fact_1) do
|
10
|
-
TestFactories::ProvenanceFact.context(subject)
|
11
|
-
end
|
12
|
-
|
13
|
-
let(:provenance_fact_2) do
|
14
|
-
TestFactories::ProvenanceFact.created_by(subject)
|
15
|
-
end
|
16
|
-
|
17
|
-
describe '#new' do
|
18
|
-
it 'has a unique id (new_id.class)' do
|
19
|
-
provenance_fact_1.id.should be_a(id_class)
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'two provenance_facts have different id' do
|
23
|
-
provenance_fact_1.id.should_not == provenance_fact_2.id
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'has nil provenance_subject' do
|
27
|
-
provenance_fact_1.provenance_subject.should be_nil
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'has correct subject' do
|
31
|
-
provenance_fact_1.subject.should == subject
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'has correct predicate' do
|
35
|
-
provenance_fact_1.predicate.should == 'https://data.vandenabeele.com/ontologies/provenance#context'
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'has correct object' do
|
39
|
-
provenance_fact_1.object.should == 'public'
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'raises an ProvenanceError when provenance_subject is present in options hash' do
|
43
|
-
lambda { described_class.new(
|
44
|
-
provenance_subject: subject,
|
45
|
-
predicate: 'test',
|
46
|
-
object: 'test') } .
|
47
|
-
should raise_error ProvenanceError
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module TestFactories
|
4
|
-
describe ProvenanceFact do
|
5
|
-
|
6
|
-
describe 'TestFactories do not fail' do
|
7
|
-
it 'TestFactories::ProvenanceFact.context is OK' do
|
8
|
-
described_class.context.should_not be_nil
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'TestFactories::ProvenanceFact.created_by is OK' do
|
12
|
-
described_class.created_by.should_not be_nil
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'TestFactories::ProvenanceFact.original_source is OK' do
|
16
|
-
described_class.original_source.should_not be_nil
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'TestFactories::ProvenanceFact.new_subject is OK' do
|
20
|
-
described_class.new_subject.should be_a(ProvenanceFact.new_subject.class)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,75 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Dbd
|
4
|
-
describe ProvenanceResource do
|
5
|
-
|
6
|
-
let(:provenance_resource) { described_class.new }
|
7
|
-
let(:provenance_resource_subject) { provenance_resource.subject }
|
8
|
-
|
9
|
-
describe '.new' do
|
10
|
-
describe 'without a subject argument' do
|
11
|
-
it 'has created a new subject' do
|
12
|
-
provenance_resource.subject.should be_a(described_class.new_subject.class)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe 'with a subject argument' do
|
17
|
-
it 'has stored the resource_subject' do
|
18
|
-
described_class.new(subject: provenance_resource_subject).subject.
|
19
|
-
should == provenance_resource_subject
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe 'with a provenance_subject argument' do
|
24
|
-
it 'raises an ProvenanceError' do
|
25
|
-
lambda{ described_class.new(provenance_subject: provenance_resource_subject) }.
|
26
|
-
should raise_error(ArgumentError)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe 'provenance_subject' do
|
32
|
-
it 'raises NoMethodError when called' do
|
33
|
-
lambda{ provenance_resource.provenance_subject }.should raise_error(NoMethodError)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe 'TestFactories::Resource' do
|
38
|
-
it '.provenance_resource works' do
|
39
|
-
TestFactories::ProvenanceResource.provenance_resource
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe 'the collection' do
|
44
|
-
|
45
|
-
let(:provenance_fact_context) { TestFactories::ProvenanceFact.context }
|
46
|
-
let(:provenance_fact_context_with_incorrect_subject) { TestFactories::ProvenanceFact.context(TestFactories::ProvenanceFact.new_subject) }
|
47
|
-
let(:provenance_fact_context_with_correct_subject) { TestFactories::ProvenanceFact.context(provenance_resource_subject) }
|
48
|
-
let(:fact_1) { TestFactories::Fact.fact_1(provenance_resource_subject) }
|
49
|
-
|
50
|
-
describe 'adding provenance facts with << ' do
|
51
|
-
it 'with correct subject it works' do
|
52
|
-
provenance_resource << provenance_fact_context_with_correct_subject
|
53
|
-
provenance_resource.first.subject.should == provenance_resource_subject
|
54
|
-
end
|
55
|
-
|
56
|
-
it 'with incorrect subject it raises SetOnceError' do
|
57
|
-
lambda{ provenance_resource << provenance_fact_context_with_incorrect_subject }.
|
58
|
-
should raise_error(RubyPeterV::SetOnceError),
|
59
|
-
'Value of subject was #{provenance_fact_context_with_incorrect_subject.subject}, ' \
|
60
|
-
'trying to set it to #{provenance_resource.subject}'
|
61
|
-
end
|
62
|
-
|
63
|
-
it 'with nil subject it sets the subject' do
|
64
|
-
provenance_resource << provenance_fact_context
|
65
|
-
provenance_resource.first.subject.should == provenance_resource_subject
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'with nil (=correct) provenance_subject it is a noop' do
|
69
|
-
provenance_resource << provenance_fact_context
|
70
|
-
provenance_resource.first.provenance_subject.should be_nil
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module TestFactories
|
2
|
-
module ProvenanceResource
|
3
|
-
|
4
|
-
def self.factory_for
|
5
|
-
::Dbd::ProvenanceResource
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.provenance_resource
|
9
|
-
factory_for.new.tap do |provenance_resource|
|
10
|
-
provenance_resource << TestFactories::ProvenanceFact.context
|
11
|
-
provenance_resource << TestFactories::ProvenanceFact.created_by
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|