Sha256: bc8acdf1be304cb419677c0ef6510106f78118a398feb05540823f45f85950a6

Contents?: true

Size: 906 Bytes

Versions: 1

Compression:

Stored size: 906 Bytes

Contents

require File.join(File.dirname(__FILE__), 'CONFIG.rb')

require 'rubygems'
require 'facets'

require 'test/unit'
require 'og'

class TC_OgAggrCalc < Test::Unit::TestCase # :nodoc: all
  include Og

  class User
    property :section, String
    property :age, Fixnum

    def initialize(section, age)
      @section = section
      @age = age
    end    
  end

  $og1.manage_classes(User)

  def test_all
    User.create('a', 12)
    User.create('a', 16)
    User.create('d', 34)
    User.create('d', 33)
    User.create('c', 27)
    User.create('c', 31)
    
    assert_equal 6, User.count
    assert_equal 12, User.minimum(:age)
    assert_equal 34, User.maximum(:age)
    assert_equal 34, User.max(:age)
    assert_equal 25.5, User.avg(:age)
    assert_equal 153, User.sum(:age)
    
    sums = User.sum(:age, :group => :section)
    assert_equal 3, sums.size
    assert_equal 28, sums[0]
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
og-0.29.0 test/og/tc_aggregations_calculations.rb