module Shoulda module Matchers # @private module Integrations # @private module NUnitTestCaseDetection def self.possible_test_case_constants [ -> { ActiveSupport::TestCase }, -> { Minitest::Test }, -> { MiniTest::Unit::TestCase }, -> { Test::Unit::TestCase } ] end def self.resolve_constant(future_constant) future_constant.call rescue NameError nil end def self.detected_test_case_constants possible_test_case_constants. map { |future_constant| resolve_constant(future_constant) }. compact end def self.test_case_constants @_test_case_constants ||= detected_test_case_constants end end end # @private def self.nunit_test_case_constants Integrations::NUnitTestCaseDetection.test_case_constants end end end