ohloh_scm / branches / master / test / unit / cvs_branch_number_test.rb
history
require File.dirname(__FILE__) + '/../test_helper'
module Scm::Parsers
class CvsBranchNumberTest < Scm::Test
def test_basic
assert_equal [1,1], BranchNumber.new('1.1').to_a
assert_equal [1234,1234], BranchNumber.new('1234.1234').to_a
assert_equal [1,2,3,4], BranchNumber.new('1.2.3.4').to_a
end
def test_simple_inherits_from
b = BranchNumber.new('1.3')
assert b.inherits_from?(BranchNumber.new('1.2'))
assert b.inherits_from?(BranchNumber.new('1.1'))
assert b.inherits_from?(BranchNumber.new('1.3'))
assert !b.inherits_from?(BranchNumber.new('1.4'))
assert !b.inherits_from?(BranchNumber.new('1.1.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.2.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.2.1'))
end
def test_complex_inherits_from
b = BranchNumber.new('1.3.6.3.2.3')
assert b.inherits_from?(BranchNumber.new('1.2'))
assert b.inherits_from?(BranchNumber.new('1.1'))
assert b.inherits_from?(BranchNumber.new('1.3'))
assert b.inherits_from?(BranchNumber.new('1.3.6.1'))
assert b.inherits_from?(BranchNumber.new('1.3.6.2'))
assert b.inherits_from?(BranchNumber.new('1.3.6.3'))
assert b.inherits_from?(BranchNumber.new('1.3.6.3.2.1'))
assert b.inherits_from?(BranchNumber.new('1.3.6.3.2.2'))
assert b.inherits_from?(BranchNumber.new('1.3.6.3.2.3'))
assert !b.inherits_from?(BranchNumber.new('1.4'))
assert !b.inherits_from?(BranchNumber.new('1.1.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.2.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.4.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.6.1.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.6.4'))
assert !b.inherits_from?(BranchNumber.new('1.3.6.3.4.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.6.3.2.2.2.1'))
assert !b.inherits_from?(BranchNumber.new('1.3.6.3.2.4'))
end
def test_primary_revision_number_change
b = BranchNumber.new('2.3')
assert b.inherits_from?(BranchNumber.new('2.2'))
assert b.inherits_from?(BranchNumber.new('2.1'))
assert b.inherits_from?(BranchNumber.new('1.1'))
assert b.inherits_from?(BranchNumber.new('1.9999'))
assert !b.inherits_from?(BranchNumber.new('2.4'))
assert !b.inherits_from?(BranchNumber.new('3.1'))
end
def test_complex_primary_revision_number_change
b = BranchNumber.new('2.3.2.1')
assert b.inherits_from?(BranchNumber.new('2.3'))
assert b.inherits_from?(BranchNumber.new('2.2'))
assert b.inherits_from?(BranchNumber.new('1.1'))
assert b.inherits_from?(BranchNumber.new('1.9999'))
assert !b.inherits_from?(BranchNumber.new('3.1'))
end
# Crazy CVS inserts a zero before the last piece of a branch number
def test_magic_branch_numbers
assert BranchNumber.new('1.1.2.1').inherits_from?(BranchNumber.new('1.1.0.2'))
assert BranchNumber.new('1.1.2.1.2.1').inherits_from?(BranchNumber.new('1.1.0.2'))
assert BranchNumber.new('1.1.0.2').inherits_from?(BranchNumber.new('1.1'))
assert !BranchNumber.new('1.1.0.2').inherits_from?(BranchNumber.new('1.2'))
assert !BranchNumber.new('1.1.0.2').inherits_from?(BranchNumber.new('1.1.2.1'))
assert BranchNumber.new('1.1.0.4').inherits_from?(BranchNumber.new('1.1'))
assert !BranchNumber.new('1.1.0.4').inherits_from?(BranchNumber.new('1.1.2.1'))
assert !BranchNumber.new('1.1.0.4').inherits_from?(BranchNumber.new('1.1.0.2'))
assert !BranchNumber.new('1.1.0.4').inherits_from?(BranchNumber.new('1.1.4.1'))
assert !BranchNumber.new('1.1.0.4').inherits_from?(BranchNumber.new('1.1.0.6'))
end
def test_simple_on_same_line
b = BranchNumber.new('1.3')
assert b.on_same_line?(BranchNumber.new('1.2'))
assert b.on_same_line?(BranchNumber.new('1.1'))
assert b.on_same_line?(BranchNumber.new('1.3'))
assert b.on_same_line?(BranchNumber.new('1.4'))
assert !b.on_same_line?(BranchNumber.new('1.1.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.2.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.2.1'))
end
def test_complex_on_same_line
b = BranchNumber.new('1.3.6.3.2.3')
assert b.on_same_line?(BranchNumber.new('1.1'))
assert b.on_same_line?(BranchNumber.new('1.2'))
assert b.on_same_line?(BranchNumber.new('1.3'))
assert b.on_same_line?(BranchNumber.new('1.3.6.1'))
assert b.on_same_line?(BranchNumber.new('1.3.6.2'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3.2.1'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3.2.2'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3.2.3'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3.2.4'))
assert b.on_same_line?(BranchNumber.new('1.3.6.3.2.99'))
assert !b.on_same_line?(BranchNumber.new('1.4'))
assert !b.on_same_line?(BranchNumber.new('1.1.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.2.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.4.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.6.1.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.6.4'))
assert !b.on_same_line?(BranchNumber.new('1.3.6.3.4.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.6.3.2.2.2.1'))
assert !b.on_same_line?(BranchNumber.new('1.3.6.3.2.99.2.1'))
end
def test_primary_revision_number_change
b = BranchNumber.new('2.3')
assert b.on_same_line?(BranchNumber.new('2.2'))
assert b.on_same_line?(BranchNumber.new('2.1'))
assert b.on_same_line?(BranchNumber.new('1.1'))
assert b.on_same_line?(BranchNumber.new('1.9999'))
assert b.on_same_line?(BranchNumber.new('2.4'))
assert b.on_same_line?(BranchNumber.new('3.1'))
end
def test_complex_primary_revision_number_change
b = BranchNumber.new('2.3.2.1')
assert b.on_same_line?(BranchNumber.new('2.3'))
assert b.on_same_line?(BranchNumber.new('2.2'))
assert b.on_same_line?(BranchNumber.new('1.1'))
assert b.on_same_line?(BranchNumber.new('1.9999'))
assert !b.on_same_line?(BranchNumber.new('2.4'))
assert !b.on_same_line?(BranchNumber.new('3.1'))
end
# Crazy CVS inserts a zero before the last piece of a branch number
def test_magic_branch_numbers
assert BranchNumber.new('1.1.2.1').on_same_line?(BranchNumber.new('1.1.0.2'))
assert BranchNumber.new('1.1.2.1.2.1').on_same_line?(BranchNumber.new('1.1.0.2'))
assert BranchNumber.new('1.1.0.2').on_same_line?(BranchNumber.new('1.1'))
assert !BranchNumber.new('1.1.0.2').on_same_line?(BranchNumber.new('1.2'))
assert BranchNumber.new('1.1.0.2').on_same_line?(BranchNumber.new('1.1.2.1'))
assert BranchNumber.new('1.1.0.4').on_same_line?(BranchNumber.new('1.1'))
assert !BranchNumber.new('1.1.0.4').on_same_line?(BranchNumber.new('1.1.2.1'))
assert !BranchNumber.new('1.1.0.4').on_same_line?(BranchNumber.new('1.1.0.2'))
assert BranchNumber.new('1.1.0.4').on_same_line?(BranchNumber.new('1.1.4.1'))
assert !BranchNumber.new('1.1.0.4').on_same_line?(BranchNumber.new('1.1.0.6'))
end
end
end
