class TC_GenerationProject
Public Instance Methods
test_filter_backtrace()
click to toggle source
# File test/gen/test_project.rb, line 46 def test_filter_backtrace Tempfile.open('test') do |io| io.puts "raise TypeError, \"custom exception\"" io.sync io.flush begin Project.load(io.path, false) flunk "no exception thrown by load" rescue TypeError => e assert_equal("#{io.path}:1", e.backtrace[0], "complete backtrace is:\n #{e.backtrace.join("\n ")}") assert_equal("custom exception", e.message) end end end
test_find_type()
click to toggle source
# File test/gen/test_project.rb, line 62 def test_find_type c = Project.new t = c.find_type "/int" assert_same c.registry.get("/int"), t end
test_find_type_should_build_arrays()
click to toggle source
# File test/gen/test_project.rb, line 67 def test_find_type_should_build_arrays c = Project.new t = c.find_type "/int[12]" assert_same c.registry.get("/int[12]"), t assert !c.typekit end
test_find_type_should_create_containers()
click to toggle source
# File test/gen/test_project.rb, line 73 def test_find_type_should_create_containers c = Project.new t = c.find_type "/std/vector</int>" assert_same c.registry.get("/std/vector</int>"), t # The container should have been defined on the typekit as well assert_equal c.typekit.registry.get("/std/vector</int>"), t end
test_generation_requires_name_and_orogen()
click to toggle source
# File test/gen/test_project.rb, line 28 def test_generation_requires_name_and_orogen project = Project.new # Should raise because there is no name assert_raises(ArgumentError) { project.generate } project.name "test" # Should raise because there is no orogen file assert_raises(ArgumentError) { project.generate } project.deffile = "bla.orogen" create_wc("tasks/generation_validation") in_wc do project.generate end end
test_imported_type_looks_at_rtt_registry()
click to toggle source
# File test/gen/test_project.rb, line 101 def test_imported_type_looks_at_rtt_registry c = Project.new t = c.registry.get "/uint64_t" assert c.imported_type?(t) end
test_imported_typekits()
click to toggle source
# File test/gen/test_project.rb, line 81 def test_imported_typekits # Build the simple typekit first build_test_project('modules/typekit_simple', []) c = Project.new # Then try to load it in_prefix do c.using_typekit "simple" assert_equal(2, c.used_typekits.size) tk = c.used_typekits.find { |t| t.name == "simple" } assert tk assert_equal("simple", tk.name) assert_equal("simple-typekit-#{OroGen::Gen::RTT_CPP.orocos_target}", tk.pkg.name) # Check that imported_type? takes the typekit into account t = c.registry.get "/Test/BaseTypes" assert c.imported_type?(t) end end
test_project_generate()
click to toggle source
# File test/gen/test_project.rb, line 4 def test_project_generate create_wc "base" in_wc do # No name, no orogen file project = RTT_CPP::Project.new assert_raises(ArgumentError) { project.generate } # No orogen file project = RTT_CPP::Project.new project.name "cmp" assert_raises(ArgumentError) { project.generate } # No name project = RTT_CPP::Project.new project.instance_variable_set(:@deffile, File.join(path_to_data, "empty_component.orogen")) assert_raises(ArgumentError) { project.generate } # OK project = RTT_CPP::Project.new project.load(File.join(path_to_data, "empty_component.orogen")) project.generate end end
test_project_names_is_lowercase()
click to toggle source
# File test/gen/test_project.rb, line 107 def test_project_names_is_lowercase c = Project.new create_wc "lowercase_assertion" in_wc do c.name "Test" assert_raises(ConfigError) { c.generate } end end