Sha256: 97aef8b0454365c7c2d9302496fc0300eff5dac9adf5122e593bcfc5f0977e93

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

require 'test_helper'
require 'tins/xt/string_version'

module Tins
  class StringVersionTest < Test::Unit::TestCase
    def test_comparison
      assert_operator '1.2'.version, :<, '1.3'.version
      assert_operator '1.3'.version, :>, '1.2'.version
      assert_operator '1.2'.version, :<=, '1.2'.version
      assert_operator '1.2'.version, :>=, '1.2'.version
      assert_operator '1.2'.version, :==, '1.2'.version
    end

    def test_change
      s = '1.2'
      s.version.revision = 1
      assert_equal '1.2.0.1', s
      s.version.revision += 1
      assert_equal '1.2.0.2', s
      s.version.succ!
      assert_equal '1.2.0.3', s
      s.version.pred!
      assert_equal '1.2.0.2', s
      assert_raise(ArgumentError) { s.version.build -= 1 }
      s.version.major = 2
      assert_equal '2.2.0.2', s
      s.version.minor = 1
      assert_equal '2.1.0.2', s
    end

    def test_bump
      s = '1.2.3'
      assert_equal '2.0.0', s.version.bump(:major).to_s
      s = '1.2.3'
      assert_equal '1.3.0', s.version.bump(:minor).to_s
      s = '1.2.3'
      assert_equal '1.2.4', s.version.bump(:build).to_s
      s = '1.2.3'
      assert_equal '1.2.4', s.version.bump.to_s
    end

    def test_dup
      s = '1.2.3'
      v = s.version
      w = v.dup
      v.succ!
      assert_equal '1.2.4', v.to_s
      assert_equal '1.2.3', w.to_s
    end

    def test_clone
      s = '1.2.3'
      v = s.version
      w = v.clone
      v.succ!
      assert_equal '1.2.4', v.to_s
      assert_equal '1.2.3', w.to_s
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tins-1.37.0 tests/string_version_test.rb
tins-1.36.1 tests/string_version_test.rb
tins-1.36.0 tests/string_version_test.rb
tins-1.35.0 tests/string_version_test.rb