1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
require 'testing_env'
require 'test/testball'
require 'set'
# Expose some internals
class Patches
attr_reader :patches
end
class Patch
attr_reader :patch_p
attr_reader :patch_filename
end
class PatchingTests < Test::Unit::TestCase
def test_patchSingleString
patches = Patches.new("http://example.com/patch.diff")
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p1, p.patch_p
end
def test_patchArray
patches = Patches.new(["http://example.com/patch1.diff", "http://example.com/patch2.diff"])
assert_equal 2, patches.patches.length
p1 = patches.patches[0]
assert_equal :p1, p1.patch_p
p2 = patches.patches[0]
assert_equal :p1, p2.patch_p
end
def test_p0_hash_to_string
patches = Patches.new({
:p0 => "http://example.com/patch.diff"
})
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p0, p.patch_p
end
def test_p1_hash_to_string
patches = Patches.new({
:p1 => "http://example.com/patch.diff"
})
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p1, p.patch_p
end
def test_mixed_hash_to_strings
expected = {
:p1 => "http://example.com/patch1.diff",
:p0 => "http://example.com/patch0.diff"
}
patches = Patches.new(expected)
assert_equal 2, patches.patches.length
# Make sure unique filenames were assigned
filenames = Set.new
patches.each do |p|
filenames << p.patch_filename
end
assert_equal 2, filenames.size
end
def test_mixed_hash_to_arrays
expected = {
:p1 => ["http://example.com/patch10.diff","http://example.com/patch11.diff"],
:p0 => ["http://example.com/patch00.diff","http://example.com/patch01.diff"]
}
patches = Patches.new(expected)
assert_equal 4, patches.patches.length
# Make sure unique filenames were assigned
filenames = Set.new
patches.each do |p|
filenames << p.patch_filename
end
assert_equal 4, filenames.size
end
end
|