Sha256: 85f664bcec95c64e3e9e7998832185c180b304d456218d3486c0dbecb1a72571

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

# Copyright 2007 Jeff Mesnil (http://jmesnil.net)

require "test/unit"

require "jmx4r"
require "jconsole"

class TestCompositeData < Test::Unit::TestCase
  import java.lang.management.ManagementFactory

  def setup
    memory = JMX::MBean.find_by_name "java.lang:type=Memory", :connection => ManagementFactory.platform_mbean_server
    # heap_memory_usage is a CompositeData
    @heap = memory.heap_memory_usage
  end

  def teardown
    @heap = nil
    JMX::MBean.remove_connection
  end
  
  # use #map to check that CompositeData includes Enumerable
  def test_enumerable_composite_data
    expected_headers = ["init", "committed", "used", "max"].sort
    headers = @heap.map { |k, v| k }.sort
    assert_equal expected_headers, headers
  end

  def test_composite_data_keys
    expected_headers = ["init", "committed", "used", "max"].sort
    headers = @heap.keys.sort
    assert_equal expected_headers, headers
  end

  def test_composite_data_key_aliases
    assert @heap.key?("used")
    assert @heap.has_key?("used")
    assert @heap.include?("used")
    assert @heap.member?("used")
  end
  
  def test_composite_data_as_hash
    used = @heap.get "used"
    used_from_hash = @heap["used"]
    assert_equal used, used_from_hash
  end  

  def test_composite_data_as_hash_with_known_key
    assert_equal true, @heap.key?("used")
    used = @heap["used"]
  end
  
  def test_composite_data_as_hash_with_unknown_key
    assert_equal false, @heap.key?("unknown")
    assert_raise(NativeException) { @heap["unknown"] }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jmx4r-0.1.2 test/tc_composite_data.rb
jmx4r-0.1.1 test/tc_composite_data.rb
jmx4r-0.1.0 test/tc_composite_data.rb
jmx4r-0.0.8 test/tc_composite_data.rb