Sha256: 29d9622312038ad6f0342b42edae1741cc3f91a3a9dcc19bba987c5887a6c669

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

require 'test/unit'
require 'json'

require File.expand_path '../../../../lib/report/reporter.rb', __FILE__
require File.expand_path '../../../../lib/report/json.rb', __FILE__
require File.expand_path '../../../../lib/model/test_result.rb', __FILE__

class TestJson < Test::Unit::TestCase

  include Report
  include Theotokos::Model
  
  def test_print_success_test_result
    app = TestAppResult.new do |a|
      a.suites = []
      a.suites << TestSuiteResult.new do |s|
        s.model = TestSuite.new {|t| t.source = '/path/to/test/model1' }
        s.test_results = [
          TestResult.new {|t| t.status = TestStatus.new :test_file_status => true },
          TestResult.new {|t| t.status = TestStatus.new :test_text_status => { :equals => true } },
          TestResult.new {|t| t.name = 1; t.status = TestStatus.new :test_text_status => { :equals => false } }
        ]
      end
      
      a.suites << TestSuiteResult.new do |s|
        s.model = TestSuite.new {|t| t.source = '/path/to/test/model2' }
        s.test_results = [
          TestResult.new {|t| t.status = TestStatus.new :test_file_status => true },
          TestResult.new {|t| t.status = TestStatus.new :test_text_status => { :equals => true } }
        ]
      end
      a.calculate_totals
    end
    
    output = File.read Reporter.create_reporter(:json).print(app)
    hash = JSON.parse output
    
    assert_equal 1, hash['total_failures']
    assert_equal 1, hash['total_success']
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
theotokos-0.1.1 test/unit/report/test_json.rb