Sha256: a4a7740c2b8455091a89d7dd4273fe4dac79fda008b825ea048d6bc8253e4027

Contents?: true

Size: 1.5 KB

Versions: 10

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

require 'helper'

class Nanoc::Int::DirectedGraphTest < Nanoc::TestCase
  def test_add_edge
    graph = Nanoc::Int::DirectedGraph.new([1, 2, 3])

    assert_equal [], graph.predecessors_of(2).to_a

    graph.add_edge(1, 2)

    assert_equal [1], graph.predecessors_of(2).to_a
  end

  def test_add_edge_with_new_vertices
    graph = Nanoc::Int::DirectedGraph.new([1])
    graph.add_edge(1, 2)
    graph.add_edge(3, 2)

    assert graph.vertices.include?(2)
    assert graph.vertices.include?(3)
  end

  def test_delete_edges_to
    graph = Nanoc::Int::DirectedGraph.new([1, 2, 3])

    graph.add_edge(1, 2)
    graph.add_edge(2, 1)
    graph.add_edge(2, 3)
    graph.add_edge(3, 2)
    graph.add_edge(1, 3)
    graph.add_edge(3, 1)

    assert_equal [2, 3], graph.direct_predecessors_of(1).sort
    assert_equal [1, 3], graph.direct_predecessors_of(2).sort
    assert_equal [1, 2], graph.direct_predecessors_of(3).sort

    graph.delete_edges_to(1)

    assert_equal [], graph.direct_predecessors_of(1).sort
    assert_equal [1, 3], graph.direct_predecessors_of(2).sort
    assert_equal [1, 2], graph.direct_predecessors_of(3).sort

    graph.delete_edges_to(2)

    assert_equal [], graph.direct_predecessors_of(1).sort
    assert_equal [], graph.direct_predecessors_of(2).sort
    assert_equal [1, 2], graph.direct_predecessors_of(3).sort
  end

  def test_example
    YARD.parse(LIB_DIR + '/nanoc/base/entities/directed_graph.rb')
    assert_examples_correct 'Nanoc::Int::DirectedGraph'
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
nanoc-4.8.10 test/base/test_directed_graph.rb
nanoc-4.8.9 test/base/test_directed_graph.rb
nanoc-4.8.8 test/base/test_directed_graph.rb
nanoc-4.8.7 test/base/test_directed_graph.rb
nanoc-4.8.6 test/base/test_directed_graph.rb
nanoc-4.8.5 test/base/test_directed_graph.rb
nanoc-4.8.4 test/base/test_directed_graph.rb
nanoc-4.8.3 test/base/test_directed_graph.rb
nanoc-4.8.2 test/base/test_directed_graph.rb
nanoc-4.8.1 test/base/test_directed_graph.rb