-
-
Notifications
You must be signed in to change notification settings - Fork 921
/
test_string_printf.rb
78 lines (72 loc) · 2.65 KB
/
test_string_printf.rb
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
require 'test/unit'
class TestStringPrintf < Test::Unit::TestCase
##### binary (%b) #####
def test_binary
assert_equal("101", "%b" % 5)
assert_equal("101", "%b" % "5")
assert_equal("1011010111100110001000001111010010000000000101", "%b" % 50000000000005)
assert_equal("101111000001010000111111101001001110001001010000111010110011000100010111110110010101010110100000000000000000000000000000000000101", "%b" % 500000000000000000000000000000000000005)
assert_equal(" 101", "% b" % 5)
assert_equal("-101", "% b" % -5)
assert_equal(" -101", "% 5b" % -5)
assert_equal("101", "%1b" % 5)
assert_equal("00101", "%.5b" % 5)
assert_equal("00101", "%05b" % 5)
assert_equal("11011", "%05b" % -5)
assert_equal("101", "%b" % 5.5)
assert_equal("0b101", "%#b" % 5)
assert_equal("0b..1011", "%#b" % -5)
assert_equal("+101", "%+b" % 5)
assert_equal("101 ", "%-5b" % 5)
assert_equal("0", "%b" % nil)
assert_equal("%b" % :howdy.to_i, "%b" % :howdy)
assert_raises(ArgumentError) {"%b" % "a"}
assert_raises(TypeError) {"%b" % true}
assert_raises(TypeError) {"%b" % [[1, 2]]}
assert_raises(TypeError) {"%b" % {'A' => 1}}
end
##### char (%c) #####
def test_char
assert_equal("A", "%c" % 65)
assert_equal("m", "%c" % 365)
assert_equal("[", "%c" % -165)
assert_equal("A", "% c" % 65)
assert_equal("A", "%0c" % 65)
assert_equal("A", "%.5c" % 65)
assert_equal("A", "%#c" % 65)
assert_equal("A", "%+c" % 65)
assert_equal(" A", "%5c" % 65)
assert_equal(" A", "%05c" % 65)
assert_equal("A ", "%-5c" % 65)
assert_equal("A", "%c" % 65.8)
assert_equal("%c" % :howdy.to_i, "%c" % :howdy)
# FIXME: validity of test pending decision on
# MRI vs. YARV compliance
# assert_raises(TypeError) {"%c" % "65"}
assert_raises(TypeError) {"%c" % true}
assert_raises(TypeError) {"%c" % nil}
assert_raises(TypeError) {"%c" % [[1, 2]]}
assert_raises(TypeError) {"%c" % {'A' => 1}}
assert_raises(RangeError) {"%c" % 500000000000000000000000000000000000005}
end
##### inspect (%p) #####
def test_inspect
assert_equal("65", "%p" % ?A)
assert_equal('"howdy"', "%p" % 'howdy')
assert_equal(":howdy", "%p" % :howdy)
assert_equal("[1, 2]", "%p" % [[1,2]])
assert_equal('{"A"=>1}', "%p" % {'A' => 1})
assert_equal(" 65", "%5p" % ?A)
assert_equal(" 65", "%05p" % ?A)
assert_equal("65 ", "%-5p" % ?A)
assert_equal(" nil", "%5p" % nil)
end
def strangePrintf
game = '41181 jpa:awh'
opponent = game.scan("jpa")[0]
sprintf "%s", opponent
end
def testStrangePrintf
assert_equal('jpa', strangePrintf)
end
end