Sha256: d5cf1364f1ca1814983e98a5d11d102494742f93791c486b4fa3064d60aa2425

Contents?: true

Size: 1.99 KB

Versions: 89

Compression:

Stored size: 1.99 KB

Contents

require 'test_helper'
require 'scout_apm/layer_children_set'

class LayerChildrenSetTest < Minitest::Test
  SET = ScoutApm::LayerChildrenSet

  def test_limit_default
    assert_equal SET::DEFAULT_UNIQUE_CUTOFF, SET.new.unique_cutoff
  end

  # Add 5, make sure they're all in the children list we get back.
  def test_add_layer_before_limit
    s = SET.new(5)

    5.times do
      s << make_layer("LayerType", "LayerName")
    end

    children = s.to_a
    assert_equal 5, children.size

    # Don't care about order
    (0..4).each do |i|
      assert children.include?(lookup_layer(i))
    end
  end

  def test_add_layer_after_limit
    s = SET.new(5)

    10.times do
      s << make_layer("LayerType", "LayerName")
    end

    children = s.to_a
    # 6 = 5 real ones + 1 merged.
    assert_equal 6, children.size

    # Don't care about order
    (0..4).each do |i|
      assert children.include?(lookup_layer(i))
    end

    # Don't care about order
    (5..9).each do |i|
      assert ! children.include?(lookup_layer(i))
    end

    limited_layer = children.last
    assert_equal ScoutApm::LimitedLayer, limited_layer.class
    assert_equal 5, limited_layer.count
  end

  def test_add_layer_with_different_type_after_limit
    s = SET.new(5)

    # Add 20 items
    10.times do
      s << make_layer("LayerType", "LayerName")
      s << make_layer("DifferentLayerType", "LayerName")
    end

    children = s.to_a

    # Tyo types, so 2 distinct limitdlayer objects
    limited_layers = children.select{ |l| ScoutApm::LimitedLayer === l }
    assert_equal 2, limited_layers.length

    # 5 unchanged children each for the two layer types, plus the 2 limitd when each overran their limit
    assert_equal 12, children.length
    limited_layers.each { |ml| assert_equal 5, ml.count }
  end

  #############
  #  Helpers  #
  #############

  def make_layer(type, name)
    @made_layers ||= []
    l = ScoutApm::Layer.new(type, name)
    @made_layers << l
    l
  end

  def lookup_layer(i)
    @made_layers[i]
  end
end

Version data entries

89 entries across 89 versions & 1 rubygems

Version Path
scout_apm-2.6.4 test/unit/layer_children_set_test.rb
scout_apm-2.6.3 test/unit/layer_children_set_test.rb
scout_apm-2.6.2 test/unit/layer_children_set_test.rb
scout_apm-2.6.1 test/unit/layer_children_set_test.rb
scout_apm-2.6.0 test/unit/layer_children_set_test.rb
scout_apm-2.5.3 test/unit/layer_children_set_test.rb
scout_apm-2.5.2 test/unit/layer_children_set_test.rb
scout_apm-2.5.1 test/unit/layer_children_set_test.rb
scout_apm-2.5.0 test/unit/layer_children_set_test.rb
scout_apm-2.4.24 test/unit/layer_children_set_test.rb
scout_apm-2.4.23 test/unit/layer_children_set_test.rb
scout_apm-2.4.22 test/unit/layer_children_set_test.rb
scout_apm-2.4.21 test/unit/layer_children_set_test.rb
scout_apm-2.4.20 test/unit/layer_children_set_test.rb
scout_apm-2.4.19 test/unit/layer_children_set_test.rb
scout_apm-2.4.18 test/unit/layer_children_set_test.rb
scout_apm-3.0.0.pre28 test/unit/layer_children_set_test.rb
scout_apm-3.0.0.pre27 test/unit/layer_children_set_test.rb
scout_apm-2.4.17 test/unit/layer_children_set_test.rb
scout_apm-2.4.16 test/unit/layer_children_set_test.rb