test/test_rdflite.rb in activerdf_rdflite-1.0 vs test/test_rdflite.rb in activerdf_rdflite-1.1

- old
+ new

@@ -90,14 +90,51 @@ end def test_loading_data adapter = ConnectionPool.add_data_source :type => :rdflite adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') - assert_equal 29, adapter.size - assert_equal 29, Query.new.count(:s).where(:s,:p,:o).execute.to_i + assert_equal 32, adapter.size end + def test_count_query + adapter = ConnectionPool.add_data_source :type => :rdflite + adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') + assert_kind_of Fixnum, Query.new.count(:s).where(:s,:p,:o).execute + assert_equal 32, Query.new.count(:s).where(:s,:p,:o).execute + end + + def test_single_context + adapter = ConnectionPool.add_data_source :type => :rdflite + file = File.dirname(File.expand_path(__FILE__)) + '/test_data.nt' + adapter.load(file) + + context = Query.new.distinct(:c).where(:s,:p,:o,:c).execute + assert_instance_of RDFS::Resource, context + assert_equal RDFS::Resource.new("file:#{file}"), context + end + + def test_multiple_context + adapter = ConnectionPool.add_data_source :type => :rdflite + file = File.dirname(File.expand_path(__FILE__)) + '/test_data.nt' + adapter.load(file) + file_context = RDFS::Resource.new("file:#{file}") + + eyal = RDFS::Resource.new 'eyaloren.org' + age = RDFS::Resource.new 'foaf:age' + test = RDFS::Resource.new 'test' + adapter.add(eyal, age, test) + + context = Query.new.distinct(:c).where(:s,:p,:o,:c).execute + assert_equal file_context, context[0] + assert_equal '', context[1] + + n1 = Query.new.distinct(:s).where(:s,:p,:o,'').execute(:flatten => false) + n2 = Query.new.distinct(:s).where(:s,:p,:o,file_context).execute(:flatten => false) + assert_equal 1, n1.size + assert_equal 9, n2.size + end + def test_person_data adapter = ConnectionPool.add_data_source :type => :rdflite adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') Namespace.register(:test, 'http://activerdf.org/test/') @@ -117,15 +154,15 @@ end def test_delete_data adapter = ConnectionPool.add_data_source :type => :rdflite adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') - assert_equal 29, adapter.size + assert_equal 32, adapter.size eyal = RDFS::Resource.new('http://activerdf.org/test/eyal') adapter.delete(eyal, nil, nil) - assert_equal 24, adapter.size + assert_equal 27, adapter.size adapter.delete(nil,nil,nil) assert_equal 0, adapter.size end @@ -134,9 +171,19 @@ adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') eyal = RDFS::Resource.new('http://activerdf.org/test/eyal') assert_equal eyal, Query.new.distinct(:s).where(:s,:keyword,"blue").execute assert_equal eyal, Query.new.distinct(:s).where(:s,:keyword,"27").execute - assert_equal eyal, Query.new.distinct(:s).where(:s,:keyword,"eyal oren").execute + end + + def test_bnodes + adapter = ConnectionPool.add_data_source :type => :rdflite + adapter.load(File.dirname(File.expand_path(__FILE__)) + '/test_data.nt') + + Namespace.register(:test, 'http://activerdf.org/test/') + ObjectManager.construct_classes + assert_equal 2, TEST::Person.find_all.size + assert_equal 29, TEST::Person.find_all[1].age.to_i + assert_equal "Another Person", TEST::Person.find_all[1].name end end