summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb')
-rw-r--r--FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb100
1 files changed, 100 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb b/FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb
new file mode 100644
index 000000000..f9f0e640c
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CMock/test/unit/cmock_plugin_manager_test.rb
@@ -0,0 +1,100 @@
+# ==========================================
+# CMock Project - Automatic Mock Generation for C
+# Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
+# [Released under MIT License. Please refer to license.txt for details]
+# ==========================================
+
+require File.expand_path(File.dirname(__FILE__)) + "/../test_helper"
+require File.expand_path(File.dirname(__FILE__)) + '/../../lib/cmock_plugin_manager'
+require File.expand_path(File.dirname(__FILE__)) + '/../../lib/cmock_generator_plugin_expect'
+require File.expand_path(File.dirname(__FILE__)) + '/../../lib/cmock_generator_plugin_ignore'
+require File.expand_path(File.dirname(__FILE__)) + '/../../lib/cmock_generator_plugin_cexception'
+
+describe CMockPluginManager, "Verify CMockPluginManager Module" do
+
+ before do
+ create_mocks :utils, :pluginA, :pluginB
+ @config = create_stub(
+ :respond_to => true,
+ :when_ptr => :compare_data,
+ :enforce_strict_ordering => false,
+ :ignore => :args_and_calls
+ )
+
+ def @config.plugins
+ if instance_variable_defined?(:@plugins)
+ @plugins || []
+ else
+ []
+ end
+ end
+
+ def @config.plugins=(val)
+ @plugins = val
+ end
+ end
+
+ after do
+ end
+
+ it "return all plugins by default" do
+ @config.plugins = ['cexception','ignore']
+ @utils.expect :helpers, {}
+
+ @cmock_plugins = CMockPluginManager.new(@config, @utils)
+
+ test_plugins = @cmock_plugins.plugins
+ contained = { :expect => false, :ignore => false, :cexception => false }
+ test_plugins.each do |plugin|
+ contained[:expect] = true if plugin.instance_of?(CMockGeneratorPluginExpect)
+ contained[:ignore] = true if plugin.instance_of?(CMockGeneratorPluginIgnore)
+ contained[:cexception] = true if plugin.instance_of?(CMockGeneratorPluginCexception)
+ end
+ assert_equal(true, contained[:expect])
+ assert_equal(true, contained[:ignore])
+ assert_equal(true, contained[:cexception])
+ end
+
+ it "return restricted plugins based on config" do
+ @utils.expect :helpers, {}
+
+ @cmock_plugins = CMockPluginManager.new(@config, @utils)
+
+ test_plugins = @cmock_plugins.plugins
+ contained = { :expect => false, :ignore => false, :cexception => false }
+ test_plugins.each do |plugin|
+ contained[:expect] = true if plugin.instance_of?(CMockGeneratorPluginExpect)
+ contained[:ignore] = true if plugin.instance_of?(CMockGeneratorPluginIgnore)
+ contained[:cexception] = true if plugin.instance_of?(CMockGeneratorPluginCexception)
+ end
+ assert_equal(true, contained[:expect])
+ assert_equal(false,contained[:ignore])
+ assert_equal(false,contained[:cexception])
+ end
+
+ it "run a desired method over each plugin requested and return the results" do
+ @utils.expect :helpers, {}
+ @cmock_plugins = CMockPluginManager.new(@config, @utils)
+
+ @pluginA = create_stub(:test_method => ["This Is An Awesome Test-"])
+ @pluginB = create_stub(:test_method => ["And This is Part 2-","Of An Awesome Test"])
+ @cmock_plugins.plugins = [@pluginA, @pluginB]
+
+ expected = "This Is An Awesome Test-And This is Part 2-Of An Awesome Test"
+ output = @cmock_plugins.run(:test_method)
+ assert_equal(expected, output)
+ end
+
+ it "run a desired method and arg list over each plugin requested and return the results" do
+ @utils.expect :helpers, {}
+ @cmock_plugins = CMockPluginManager.new(@config, @utils)
+
+ @pluginA = create_stub(:test_method => ["This Is An Awesome Test-"])
+ @pluginB = create_stub(:test_method => ["And This is Part 2-","Of An Awesome Test"])
+ @cmock_plugins.plugins = [@pluginA, @pluginB]
+
+ expected = "This Is An Awesome Test-And This is Part 2-Of An Awesome Test"
+ output = @cmock_plugins.run(:test_method, "chickenpotpie")
+ assert_equal(expected, output)
+ end
+end