Sha256: 50d50af5882e755f0d1530fec12fde6b32ae0d9a0443cd4300135a41f1704a3c
Contents?: true
Size: 1.63 KB
Versions: 3
Compression:
Stored size: 1.63 KB
Contents
# encoding: utf-8 require 'spec_helper' def preview g = Graphviz::Diagram.new yield g if block_given? g.output png: 'preview.png' #, dot: 'preview.dot' end describe Graphviz::Diagram::ClassDiagram::Entity do subject { Graphviz::Diagram::ClassDiagram::Entity.new 'Superb Class' } describe '#label' do it 'holds name, attribute and methods' do subject.add_attribute('name') subject.add_attribute('description', visibility: :private) expect(subject.label).to eq("Superb Class|+ name \\l- description \\l|") subject.add_attribute('age', type: 'Integer') subject.add_method('say') subject.add_method('abort', arguments: 'attribute', type: 'String') # preview { |g| g << subject } end end end describe Graphviz::Diagram::ClassDiagram::Link do describe '#new' do it 'add field id to both side, if field specified' do e1 = Graphviz::Diagram::ClassDiagram::Entity.new 'Professor' e2 = Graphviz::Diagram::ClassDiagram::Entity.new 'Book' e1.add_attribute('name') e1.add_method('books') e2.add_attribute('title') e2.add_attribute('author') # preview do |g| # g << e1 # g << e2 # g << e2.belongs_to(e1) # g << g['Course'].embedded_in(g['Professor']) # g << g['Classroom'].embedded_in(g['Professor']) # end end end end describe Graphviz::Diagram::ClassDiagram do describe '#graphviz' do it 'should be an instance of GraphViz' do expect(subject.graphviz).to be_instance_of(GraphViz) end it 'has rankdir equals LR' do expect(subject.graphviz['rankdir'].to_s).to eq('"LR"') end end end
Version data entries
3 entries across 3 versions & 1 rubygems