Sha256: 5fc855719c4f7a2c9ece25f1b16ac6fb41bfbb5af223493cf546106f2640a394

Contents?: true

Size: 954 Bytes

Versions: 13

Compression:

Stored size: 954 Bytes

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../../test_helper')
require 'test/unit'
require 'rbbt-util'
require 'rbbt/persist/tsv'

class TestSharder < Test::Unit::TestCase
  def test_shard
    TmpFile.with_file do |dir|
      shard_function = Proc.new do |key|
        key[-1]
      end

      size = 10
      sharder = Persist.persist_tsv(nil, "ShardTest", {}, :file => dir, :shard_function => shard_function, :persist => true, :serializer => :float_array) do |db|
        size.times do |v| 
          db[v.to_s] = [v, v*2]
        end
        db
      end
      assert_equal dir, sharder.persistence_path
      assert_equal size, sharder.keys.length

      assert_equal [2,4], sharder["2"]
      count = 0
      sharder.through do |k,v|
        count += 1
      end
      assert_equal count, size

      sharder = Persist::Sharder.new dir do |key|
        key[-1]
      end

      assert_equal size, sharder.keys.length

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rbbt-util-5.13.36 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.35 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.34 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.33 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.32 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.31 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.30 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.29 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.28 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.27 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.26 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.25 test/rbbt/persist/tsv/test_sharder.rb
rbbt-util-5.13.24 test/rbbt/persist/tsv/test_sharder.rb