diff options
author | Patrick Simianer <p@simianer.de> | 2014-01-29 20:09:10 +0100 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-01-29 20:09:10 +0100 |
commit | 9f0689fe2ba4ff3cd48e9b0418ec3fb9eb0ac7ee (patch) | |
tree | 6807c77589543921be8f616476ca6f9cbb8b505f /test/test_dags.rb | |
parent | 648f2f583d37f7921a5e6d5fb9d70cc1a31fb837 (diff) |
rake test
Diffstat (limited to 'test/test_dags.rb')
-rwxr-xr-x | test/test_dags.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/test_dags.rb b/test/test_dags.rb new file mode 100755 index 0000000..08a96a2 --- /dev/null +++ b/test/test_dags.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby + +require 'nlp_ruby' +require 'test/unit' + + +class TestDAG < Test::Unit::TestCase + + def test_viterbi + semiring = ViterbiSemiring.new + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring) + DAG::viterbi(graph, semiring, nodes_by_label['0']) + assert_equal(nodes_by_label['100'].score, 0.003) + end + + # no negative weights here! + def test_dijkstra + semiring = RealSemiring.new + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring) + DAG::dijkstra(graph, semiring, nodes_by_label['0']) + assert_equal(nodes_by_label['100'].score, 0.5) + end + + def test_bellman_ford + semiring = RealSemiring.new + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring) + DAG::bellman_ford(graph, semiring, nodes_by_label['0']) + assert_equal(nodes_by_label['100'].score, 0.5) + end + + def test_floyd + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json') + d = DAG::floyd(graph) + assert_equal(d[0][graph.size-1], 0.5) + end + + def test_dfs + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json') + assert_equal(nodes_by_label['100'], DAG::dfs(nodes_by_label['0'], '100')) + end + + def test_bfs + graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json') + assert_equal(nodes_by_label['100'], DAG::bfs(nodes_by_label['0'], '100')) + end +end + |