Sha256: e801653fbbfb43c715b34390ed6dc99021d79abd80bf9e68e4e68920a457ffcf
Contents?: true
Size: 1.68 KB
Versions: 3
Compression:
Stored size: 1.68 KB
Contents
# encoding: UTF-8 class MutationVerifier include Adamantium::Flat, Concord.new(:original_node, :expected, :generated) # Test if mutation was verified successfully # # @return [Boolean] # # @api private # def success? unparser.success? && missing.empty? && unexpected.empty? end # Return error report # # @return [String] # # @api private # def error_report unless unparser.success? return unparser.report end mutation_report end private # Return unexpected mutationso # # @return [Array<Parser::AST::Node>] # # @api private # def unexpected generated - expected end memoize :unexpected # Return mutation report # # @return [String] # # @api private # def mutation_report message = ['Original:', original_node.inspect] if missing.any? message << 'Missing mutations:' message << missing.map(&method(:format_mutation)).join("\n-----\n") end if unexpected.any? message << 'Unexpected mutations:' message << unexpected.map(&method(:format_mutation)).join("\n-----\n") end message.join("\n======\n") end # Format mutation # # @return [String] # # @api private # def format_mutation(node) [ node.inspect, Unparser.unparse(node) ].join("\n") end # Return missing mutationso # # @return [Array<Parser::AST::Node>] # # @api private # def missing expected - generated end memoize :missing # Return unparser verifier # # @return [Unparser::CLI::Source] # # @api private # def unparser Unparser::CLI::Source::Node.new(Unparser::Preprocessor.run(original_node)) end memoize :unparser end # MutationVerifier
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mutant-0.5.13 | spec/support/mutation_verifier.rb |
mutant-0.5.12 | spec/support/mutation_verifier.rb |
mutant-0.5.11 | spec/support/mutation_verifier.rb |