Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

test_journey.rb

Blame
  • test_journey.rb 2.20 KiB
    require_relative "journey"
    require "test/unit"
    
    class TestJouney < Test::Unit::TestCase
      def test_just_one_element
        journey = Journey.new
        insert_station = "u"
        journey.insert({station: insert_station})
        elements = journey.elements
        assert_equal([insert_station], elements)
      end
    
      def test_just_another_one_element
        journey = Journey.new
        insert_station = "u"
        journey.insert({station: insert_station, criteria: "b"})
        elements = journey.elements
        assert_equal([insert_station], elements)
      end
    
      def test_two_independent_element
        journey = Journey.new
        inserts = [
          {:station=>"u"},
          {:station=>"v", :criteria=>"w"}
        ]
        inserts.each {|i| journey.insert(i) }
    
        elements = journey.elements
        assert_equal(["u", "v"], elements)
      end
    
      def test_two_not_independent_element_good_sequence
        journey = Journey.new
        inserts = [
          {:station=>"u", :criteria=>"v"},
          {:station=>"v", :criteria=>"w"}
        ]
        inserts.each {|i| journey.insert(i) }
    
        elements = journey.elements
        assert_equal(["u", "v"], elements)
      end
    
      def test_two_not_independent_element_bad_sequence
        journey = Journey.new
        inserts = [
          {:station=>"v", :criteria=>"w"},
          {:station=>"u", :criteria=>"v"}
        ]
        inserts.each {|i| journey.insert(i) }
    
        elements = journey.elements
        assert_equal(["u", "v"], elements)
      end
    
      def test_two_independent_route
        journey = Journey.new
        inserts = [
          {:station=>"u"},
          {:station=>"v", :criteria=>"w"},
          {:station=>"w", :criteria=>"z"},
          {:station=>"x", :criteria=>"u"},
          {:station=>"y", :criteria=>"v"},
          {:station=>"z"}
        ]
        inserts.each {|i| journey.insert(i) }
    
        elements = journey.elements
        assert_equal(["x", "u", "y", "v", "w", "z"], elements)