Sha256: df54ad4582aa95d07ef37f2a7295dacb331f8c8f4100e4f9b23bf40e06837c52

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 KB

Contents

require 'spec_helper'
require 'dentaku/ast/functions/roundup'
require 'dentaku'

describe 'Dentaku::AST::Function::Round' do
  it 'returns the rounded value' do
    result = Dentaku('ROUNDUP(1.8)')
    expect(result).to eq(2)
  end

  it 'returns the rounded value to the given precision' do
    result = Dentaku('ROUNDUP(x, y)', x: 1.8453, y: 3)
    expect(result).to eq(1.846)
  end

  it 'returns the rounded value to the given precision, also with strings' do
    result = Dentaku('ROUNDUP(x, y)', x: '1.8453', y: '3')
    expect(result).to eq(1.846)
  end

  it 'returns the rounded value to the given precision, also with nil' do
    result = Dentaku('ROUNDUP(x, y)', x: '1.8453', y: nil)
    expect(result).to eq(2)
  end

  context 'checking errors' do
    it 'raises an error if first argument is not numeric' do
      expect { Dentaku!("ROUND(2020-1-1, 0)") }.to raise_error(Dentaku::ArgumentError)
    end

    it 'raises an error if places is not numeric' do
      expect { Dentaku!("ROUND(1.8, 2020-1-1)") }.to raise_error(Dentaku::ArgumentError)
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
dentaku-3.5.4 spec/ast/roundup_spec.rb
dentaku-3.5.3 spec/ast/roundup_spec.rb
dentaku-3.5.2 spec/ast/roundup_spec.rb
dentaku_zevo-3.5.2 spec/ast/roundup_spec.rb
dentaku-3.5.1 spec/ast/roundup_spec.rb
dentaku-3.5.0 spec/ast/roundup_spec.rb
dentaku-3.4.2 spec/ast/roundup_spec.rb
dentaku-3.4.1 spec/ast/roundup_spec.rb
dentaku-3.4.0 spec/ast/roundup_spec.rb