Sha256: bf135e0a35c2fbcbb0f68026da5f4ac7149a759d8df5ddbf8b9716a841cd7208
Contents?: true
Size: 1.96 KB
Versions: 1
Compression:
Stored size: 1.96 KB
Contents
require "spec_helper" require "graphshaper/adapters/json_adapter" describe Graphshaper::JsonAdapter do describe "Initialized Adapter" do let(:file_class) { double } let(:vertex_id) { 1 } let(:edge_id) { 2 } let(:from_id) { 3 } let(:to_id) { 4 } subject { Graphshaper::JsonAdapter.new "test_dir", file_class } it "should create a new edge file" do file = double file.should_receive(:write).with(%Q<{"id":#{vertex_id},"children" : [>) file.should_receive(:close) file_class.stub(:new).and_return { file } file_class.should_receive(:new).with("test_dir/#{vertex_id}.json", "w") subject.add_vertex(vertex_id) end it "should add edges to the vertices" do file = double file.should_receive(:write).with(%Q<{"id":#{to_id}},>) file.should_receive(:close) file_class.stub(:new).and_return { file } file_class.should_receive(:new).with("test_dir/#{from_id}.json", "a") subject.add_edge(edge_id, from_id, to_id) end it "should close all vertex files" do file_1 = double file_2 = double close_file_1 = double close_file_2 = double [file_1, file_2, close_file_1, close_file_2].each do |f| f.stub(:write) f.stub(:close) end [close_file_1, close_file_2].each do |f| f.should_receive(:write).with("a]}") f.should_receive(:close) end file_class.stub(:read).with("test_dir/1.json").and_return { "a," } file_class.stub(:read).with("test_dir/2.json").and_return { "a" } file_class.stub(:new).with("test_dir/1.json", "w").and_return { file_1 } file_class.stub(:new).with("test_dir/2.json", "w").and_return { file_2 } file_class.stub(:new).with("test_dir/1.json", "w+").and_return { close_file_1 } file_class.stub(:new).with("test_dir/2.json", "w+").and_return { close_file_2 } subject.add_vertex(1) subject.add_vertex(2) subject.close end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphshaper-0.3.0 | spec/adapters/json_adapter_spec.rb |