Mercurial > hg-stable
changeset 8449:807f3f5c60e9
tests: renamed Python tests to .py
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sun, 17 May 2009 01:39:31 +0200 |
parents | 0eb8c4df61bd |
children | 4a2274a5dcaa |
files | tests/test-bdiff tests/test-bdiff.out tests/test-bdiff.py tests/test-bdiff.py.out tests/test-demandimport tests/test-demandimport.out tests/test-demandimport.py tests/test-demandimport.py.out tests/test-ui-config tests/test-ui-config.out tests/test-ui-config.py tests/test-ui-config.py.out tests/test-ui-verbosity tests/test-ui-verbosity.out tests/test-ui-verbosity.py tests/test-ui-verbosity.py.out |
diffstat | 16 files changed, 332 insertions(+), 332 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-bdiff Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -#!/usr/bin/env python - -import sys, struct -from mercurial import bdiff, mpatch - -def test1(a, b): - d = bdiff.bdiff(a, b) - c = a - if d: - c = mpatch.patches(a, [d]) - if c != b: - print "***", repr(a), repr(b) - print "bad:" - print repr(c)[:200] - print repr(d) - -def test(a, b): - print "***", repr(a), repr(b) - test1(a, b) - test1(b, a) - -test("a\nc\n\n\n\n", "a\nb\n\n\n") -test("a\nb\nc\n", "a\nc\n") -test("", "") -test("a\nb\nc", "a\nb\nc") -test("a\nb\nc\nd\n", "a\nd\n") -test("a\nb\nc\nd\n", "a\nc\ne\n") -test("a\nb\nc\n", "a\nc\n") -test("a\n", "c\na\nb\n") -test("a\n", "") -test("a\n", "b\nc\n") -test("a\n", "c\na\n") -test("", "adjfkjdjksdhfksj") -test("", "ab") -test("", "abc") -test("a", "a") -test("ab", "ab") -test("abc", "abc") -test("a\n", "a\n") -test("a\nb", "a\nb") - -#issue1295 -def showdiff(a, b): - bin = bdiff.bdiff(a, b) - pos = 0 - while pos < len(bin): - p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12]) - pos += 12 - print p1, p2, repr(bin[pos:pos + l]) - pos += l -showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n") -showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n") - -print "done"
--- a/tests/test-bdiff.out Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -*** 'a\nc\n\n\n\n' 'a\nb\n\n\n' -*** 'a\nb\nc\n' 'a\nc\n' -*** '' '' -*** 'a\nb\nc' 'a\nb\nc' -*** 'a\nb\nc\nd\n' 'a\nd\n' -*** 'a\nb\nc\nd\n' 'a\nc\ne\n' -*** 'a\nb\nc\n' 'a\nc\n' -*** 'a\n' 'c\na\nb\n' -*** 'a\n' '' -*** 'a\n' 'b\nc\n' -*** 'a\n' 'c\na\n' -*** '' 'adjfkjdjksdhfksj' -*** '' 'ab' -*** '' 'abc' -*** 'a' 'a' -*** 'ab' 'ab' -*** 'abc' 'abc' -*** 'a\n' 'a\n' -*** 'a\nb' 'a\nb' -6 6 'y\n\n' -6 6 'y\n\n' -9 9 'y\n\n' -done
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bdiff.py Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,54 @@ +#!/usr/bin/env python + +import sys, struct +from mercurial import bdiff, mpatch + +def test1(a, b): + d = bdiff.bdiff(a, b) + c = a + if d: + c = mpatch.patches(a, [d]) + if c != b: + print "***", repr(a), repr(b) + print "bad:" + print repr(c)[:200] + print repr(d) + +def test(a, b): + print "***", repr(a), repr(b) + test1(a, b) + test1(b, a) + +test("a\nc\n\n\n\n", "a\nb\n\n\n") +test("a\nb\nc\n", "a\nc\n") +test("", "") +test("a\nb\nc", "a\nb\nc") +test("a\nb\nc\nd\n", "a\nd\n") +test("a\nb\nc\nd\n", "a\nc\ne\n") +test("a\nb\nc\n", "a\nc\n") +test("a\n", "c\na\nb\n") +test("a\n", "") +test("a\n", "b\nc\n") +test("a\n", "c\na\n") +test("", "adjfkjdjksdhfksj") +test("", "ab") +test("", "abc") +test("a", "a") +test("ab", "ab") +test("abc", "abc") +test("a\n", "a\n") +test("a\nb", "a\nb") + +#issue1295 +def showdiff(a, b): + bin = bdiff.bdiff(a, b) + pos = 0 + while pos < len(bin): + p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12]) + pos += 12 + print p1, p2, repr(bin[pos:pos + l]) + pos += l +showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n") +showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n") + +print "done"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-bdiff.py.out Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,23 @@ +*** 'a\nc\n\n\n\n' 'a\nb\n\n\n' +*** 'a\nb\nc\n' 'a\nc\n' +*** '' '' +*** 'a\nb\nc' 'a\nb\nc' +*** 'a\nb\nc\nd\n' 'a\nd\n' +*** 'a\nb\nc\nd\n' 'a\nc\ne\n' +*** 'a\nb\nc\n' 'a\nc\n' +*** 'a\n' 'c\na\nb\n' +*** 'a\n' '' +*** 'a\n' 'b\nc\n' +*** 'a\n' 'c\na\n' +*** '' 'adjfkjdjksdhfksj' +*** '' 'ab' +*** '' 'abc' +*** 'a' 'a' +*** 'ab' 'ab' +*** 'abc' 'abc' +*** 'a\n' 'a\n' +*** 'a\nb' 'a\nb' +6 6 'y\n\n' +6 6 'y\n\n' +9 9 'y\n\n' +done
--- a/tests/test-demandimport Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -from mercurial import demandimport -demandimport.enable() - -import re - -rsub = re.sub -def f(obj): - l = repr(obj) - l = rsub("0x[0-9a-fA-F]+", "0x?", l) - l = rsub("from '.*'", "from '?'", l) - return l - -import os - -print "os =", f(os) -print "os.system =", f(os.system) -print "os =", f(os) - -from mercurial import util - -print "util =", f(util) -print "util.system =", f(util.system) -print "util =", f(util) -print "util.system =", f(util.system) - -import re as fred -print "fred =", f(fred) - -import sys as re -print "re =", f(re) - -print "fred =", f(fred) -print "fred.sub =", f(fred.sub) -print "fred =", f(fred) - -print "re =", f(re) -print "re.stdout =", f(re.stdout) -print "re =", f(re)
--- a/tests/test-demandimport.out Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -os = <unloaded module 'os'> -os.system = <built-in function system> -os = <module 'os' from '?'> -util = <unloaded module 'util'> -util.system = <function system at 0x?> -util = <module 'mercurial.util' from '?'> -util.system = <function system at 0x?> -fred = <unloaded module 're'> -re = <unloaded module 'sys'> -fred = <unloaded module 're'> -fred.sub = <function sub at 0x?> -fred = <proxied module 're'> -re = <unloaded module 'sys'> -re.stdout = <open file '<stdout>', mode 'w' at 0x?> -re = <proxied module 'sys'>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-demandimport.py Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +from mercurial import demandimport +demandimport.enable() + +import re + +rsub = re.sub +def f(obj): + l = repr(obj) + l = rsub("0x[0-9a-fA-F]+", "0x?", l) + l = rsub("from '.*'", "from '?'", l) + return l + +import os + +print "os =", f(os) +print "os.system =", f(os.system) +print "os =", f(os) + +from mercurial import util + +print "util =", f(util) +print "util.system =", f(util.system) +print "util =", f(util) +print "util.system =", f(util.system) + +import re as fred +print "fred =", f(fred) + +import sys as re +print "re =", f(re) + +print "fred =", f(fred) +print "fred.sub =", f(fred.sub) +print "fred =", f(fred) + +print "re =", f(re) +print "re.stdout =", f(re.stdout) +print "re =", f(re)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-demandimport.py.out Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,15 @@ +os = <unloaded module 'os'> +os.system = <built-in function system> +os = <module 'os' from '?'> +util = <unloaded module 'util'> +util.system = <function system at 0x?> +util = <module 'mercurial.util' from '?'> +util.system = <function system at 0x?> +fred = <unloaded module 're'> +re = <unloaded module 'sys'> +fred = <unloaded module 're'> +fred.sub = <function sub at 0x?> +fred = <proxied module 're'> +re = <unloaded module 'sys'> +re.stdout = <open file '<stdout>', mode 'w' at 0x?> +re = <proxied module 'sys'>
--- a/tests/test-ui-config Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -#!/usr/bin/env python - -from mercurial import ui, util, dispatch, error - -testui = ui.ui() -parsed = dispatch._parseconfig(testui, [ - 'values.string=string value', - 'values.bool1=true', - 'values.bool2=false', - 'lists.list1=foo', - 'lists.list2=foo bar baz', - 'lists.list3=alice, bob', - 'lists.list4=foo bar baz alice, bob', -]) - -print repr(testui.configitems('values')) -print repr(testui.configitems('lists')) -print "---" -print repr(testui.config('values', 'string')) -print repr(testui.config('values', 'bool1')) -print repr(testui.config('values', 'bool2')) -print repr(testui.config('values', 'unknown')) -print "---" -try: - print repr(testui.configbool('values', 'string')) -except error.ConfigError, inst: - print inst -print repr(testui.configbool('values', 'bool1')) -print repr(testui.configbool('values', 'bool2')) -print repr(testui.configbool('values', 'bool2', True)) -print repr(testui.configbool('values', 'unknown')) -print repr(testui.configbool('values', 'unknown', True)) -print "---" -print repr(testui.configlist('lists', 'list1')) -print repr(testui.configlist('lists', 'list2')) -print repr(testui.configlist('lists', 'list3')) -print repr(testui.configlist('lists', 'list4')) -print repr(testui.configlist('lists', 'list4', ['foo'])) -print repr(testui.configlist('lists', 'unknown')) -print repr(testui.configlist('lists', 'unknown', '')) -print repr(testui.configlist('lists', 'unknown', 'foo')) -print repr(testui.configlist('lists', 'unknown', ['foo'])) -print repr(testui.configlist('lists', 'unknown', 'foo bar')) -print repr(testui.configlist('lists', 'unknown', 'foo, bar')) -print repr(testui.configlist('lists', 'unknown', ['foo bar'])) -print repr(testui.configlist('lists', 'unknown', ['foo', 'bar'])) - -print repr(testui.config('values', 'String')) - -def function(): - pass - -# values that aren't strings should work -testui.setconfig('hook', 'commit', function) -print function == testui.config('hook', 'commit')
--- a/tests/test-ui-config.out Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -[('string', 'string value'), ('bool1', 'true'), ('bool2', 'false')] -[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')] ---- -'string value' -'true' -'false' -None ---- -values.string not a boolean ('string value') -True -False -False -False -True ---- -['foo'] -['foo', 'bar', 'baz'] -['alice', 'bob'] -['foo', 'bar', 'baz', 'alice', 'bob'] -['foo', 'bar', 'baz', 'alice', 'bob'] -[] -[] -['foo'] -['foo'] -['foo', 'bar'] -['foo', 'bar'] -['foo bar'] -['foo', 'bar'] -None -True
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-ui-config.py Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +from mercurial import ui, util, dispatch, error + +testui = ui.ui() +parsed = dispatch._parseconfig(testui, [ + 'values.string=string value', + 'values.bool1=true', + 'values.bool2=false', + 'lists.list1=foo', + 'lists.list2=foo bar baz', + 'lists.list3=alice, bob', + 'lists.list4=foo bar baz alice, bob', +]) + +print repr(testui.configitems('values')) +print repr(testui.configitems('lists')) +print "---" +print repr(testui.config('values', 'string')) +print repr(testui.config('values', 'bool1')) +print repr(testui.config('values', 'bool2')) +print repr(testui.config('values', 'unknown')) +print "---" +try: + print repr(testui.configbool('values', 'string')) +except error.ConfigError, inst: + print inst +print repr(testui.configbool('values', 'bool1')) +print repr(testui.configbool('values', 'bool2')) +print repr(testui.configbool('values', 'bool2', True)) +print repr(testui.configbool('values', 'unknown')) +print repr(testui.configbool('values', 'unknown', True)) +print "---" +print repr(testui.configlist('lists', 'list1')) +print repr(testui.configlist('lists', 'list2')) +print repr(testui.configlist('lists', 'list3')) +print repr(testui.configlist('lists', 'list4')) +print repr(testui.configlist('lists', 'list4', ['foo'])) +print repr(testui.configlist('lists', 'unknown')) +print repr(testui.configlist('lists', 'unknown', '')) +print repr(testui.configlist('lists', 'unknown', 'foo')) +print repr(testui.configlist('lists', 'unknown', ['foo'])) +print repr(testui.configlist('lists', 'unknown', 'foo bar')) +print repr(testui.configlist('lists', 'unknown', 'foo, bar')) +print repr(testui.configlist('lists', 'unknown', ['foo bar'])) +print repr(testui.configlist('lists', 'unknown', ['foo', 'bar'])) + +print repr(testui.config('values', 'String')) + +def function(): + pass + +# values that aren't strings should work +testui.setconfig('hook', 'commit', function) +print function == testui.config('hook', 'commit')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-ui-config.py.out Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,30 @@ +[('string', 'string value'), ('bool1', 'true'), ('bool2', 'false')] +[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')] +--- +'string value' +'true' +'false' +None +--- +values.string not a boolean ('string value') +True +False +False +False +True +--- +['foo'] +['foo', 'bar', 'baz'] +['alice', 'bob'] +['foo', 'bar', 'baz', 'alice', 'bob'] +['foo', 'bar', 'baz', 'alice', 'bob'] +[] +[] +['foo'] +['foo'] +['foo', 'bar'] +['foo', 'bar'] +['foo bar'] +['foo', 'bar'] +None +True
--- a/tests/test-ui-verbosity Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -#!/usr/bin/env python - -import os -from mercurial import ui - -hgrc = os.environ['HGRCPATH'] -f = open(hgrc) -basehgrc = f.read() -f.close() - -print ' hgrc settings command line options final result ' -print ' quiet verbo debug quiet verbo debug quiet verbo debug' - -for i in xrange(64): - hgrc_quiet = bool(i & 1<<0) - hgrc_verbose = bool(i & 1<<1) - hgrc_debug = bool(i & 1<<2) - cmd_quiet = bool(i & 1<<3) - cmd_verbose = bool(i & 1<<4) - cmd_debug = bool(i & 1<<5) - - f = open(hgrc, 'w') - f.write(basehgrc) - f.write('\n[ui]\n') - if hgrc_quiet: - f.write('quiet = True\n') - if hgrc_verbose: - f.write('verbose = True\n') - if hgrc_debug: - f.write('debug = True\n') - f.close() - - u = ui.ui() - if cmd_quiet or cmd_debug or cmd_verbose: - u.setconfig('ui', 'quiet', str(bool(cmd_quiet))) - u.setconfig('ui', 'verbose', str(bool(cmd_verbose))) - u.setconfig('ui', 'debug', str(bool(cmd_debug))) - - check = '' - if u.debugflag: - if not u.verbose or u.quiet: - check = ' *' - elif u.verbose and u.quiet: - check = ' +' - - print ('%2d %5s %5s %5s %5s %5s %5s -> %5s %5s %5s%s' - % (i, hgrc_quiet, hgrc_verbose, hgrc_debug, - cmd_quiet, cmd_verbose, cmd_debug, - u.quiet, u.verbose, u.debugflag, check))
--- a/tests/test-ui-verbosity.out Sun May 17 02:31:12 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - hgrc settings command line options final result - quiet verbo debug quiet verbo debug quiet verbo debug - 0 False False False False False False -> False False False - 1 True False False False False False -> True False False - 2 False True False False False False -> False True False - 3 True True False False False False -> False False False - 4 False False True False False False -> False True True - 5 True False True False False False -> False True True - 6 False True True False False False -> False True True - 7 True True True False False False -> False True True - 8 False False False True False False -> True False False - 9 True False False True False False -> True False False -10 False True False True False False -> True False False -11 True True False True False False -> True False False -12 False False True True False False -> True False False -13 True False True True False False -> True False False -14 False True True True False False -> True False False -15 True True True True False False -> True False False -16 False False False False True False -> False True False -17 True False False False True False -> False True False -18 False True False False True False -> False True False -19 True True False False True False -> False True False -20 False False True False True False -> False True False -21 True False True False True False -> False True False -22 False True True False True False -> False True False -23 True True True False True False -> False True False -24 False False False True True False -> False False False -25 True False False True True False -> False False False -26 False True False True True False -> False False False -27 True True False True True False -> False False False -28 False False True True True False -> False False False -29 True False True True True False -> False False False -30 False True True True True False -> False False False -31 True True True True True False -> False False False -32 False False False False False True -> False True True -33 True False False False False True -> False True True -34 False True False False False True -> False True True -35 True True False False False True -> False True True -36 False False True False False True -> False True True -37 True False True False False True -> False True True -38 False True True False False True -> False True True -39 True True True False False True -> False True True -40 False False False True False True -> False True True -41 True False False True False True -> False True True -42 False True False True False True -> False True True -43 True True False True False True -> False True True -44 False False True True False True -> False True True -45 True False True True False True -> False True True -46 False True True True False True -> False True True -47 True True True True False True -> False True True -48 False False False False True True -> False True True -49 True False False False True True -> False True True -50 False True False False True True -> False True True -51 True True False False True True -> False True True -52 False False True False True True -> False True True -53 True False True False True True -> False True True -54 False True True False True True -> False True True -55 True True True False True True -> False True True -56 False False False True True True -> False True True -57 True False False True True True -> False True True -58 False True False True True True -> False True True -59 True True False True True True -> False True True -60 False False True True True True -> False True True -61 True False True True True True -> False True True -62 False True True True True True -> False True True -63 True True True True True True -> False True True
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-ui-verbosity.py Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import os +from mercurial import ui + +hgrc = os.environ['HGRCPATH'] +f = open(hgrc) +basehgrc = f.read() +f.close() + +print ' hgrc settings command line options final result ' +print ' quiet verbo debug quiet verbo debug quiet verbo debug' + +for i in xrange(64): + hgrc_quiet = bool(i & 1<<0) + hgrc_verbose = bool(i & 1<<1) + hgrc_debug = bool(i & 1<<2) + cmd_quiet = bool(i & 1<<3) + cmd_verbose = bool(i & 1<<4) + cmd_debug = bool(i & 1<<5) + + f = open(hgrc, 'w') + f.write(basehgrc) + f.write('\n[ui]\n') + if hgrc_quiet: + f.write('quiet = True\n') + if hgrc_verbose: + f.write('verbose = True\n') + if hgrc_debug: + f.write('debug = True\n') + f.close() + + u = ui.ui() + if cmd_quiet or cmd_debug or cmd_verbose: + u.setconfig('ui', 'quiet', str(bool(cmd_quiet))) + u.setconfig('ui', 'verbose', str(bool(cmd_verbose))) + u.setconfig('ui', 'debug', str(bool(cmd_debug))) + + check = '' + if u.debugflag: + if not u.verbose or u.quiet: + check = ' *' + elif u.verbose and u.quiet: + check = ' +' + + print ('%2d %5s %5s %5s %5s %5s %5s -> %5s %5s %5s%s' + % (i, hgrc_quiet, hgrc_verbose, hgrc_debug, + cmd_quiet, cmd_verbose, cmd_debug, + u.quiet, u.verbose, u.debugflag, check))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-ui-verbosity.py.out Sun May 17 01:39:31 2009 +0200 @@ -0,0 +1,66 @@ + hgrc settings command line options final result + quiet verbo debug quiet verbo debug quiet verbo debug + 0 False False False False False False -> False False False + 1 True False False False False False -> True False False + 2 False True False False False False -> False True False + 3 True True False False False False -> False False False + 4 False False True False False False -> False True True + 5 True False True False False False -> False True True + 6 False True True False False False -> False True True + 7 True True True False False False -> False True True + 8 False False False True False False -> True False False + 9 True False False True False False -> True False False +10 False True False True False False -> True False False +11 True True False True False False -> True False False +12 False False True True False False -> True False False +13 True False True True False False -> True False False +14 False True True True False False -> True False False +15 True True True True False False -> True False False +16 False False False False True False -> False True False +17 True False False False True False -> False True False +18 False True False False True False -> False True False +19 True True False False True False -> False True False +20 False False True False True False -> False True False +21 True False True False True False -> False True False +22 False True True False True False -> False True False +23 True True True False True False -> False True False +24 False False False True True False -> False False False +25 True False False True True False -> False False False +26 False True False True True False -> False False False +27 True True False True True False -> False False False +28 False False True True True False -> False False False +29 True False True True True False -> False False False +30 False True True True True False -> False False False +31 True True True True True False -> False False False +32 False False False False False True -> False True True +33 True False False False False True -> False True True +34 False True False False False True -> False True True +35 True True False False False True -> False True True +36 False False True False False True -> False True True +37 True False True False False True -> False True True +38 False True True False False True -> False True True +39 True True True False False True -> False True True +40 False False False True False True -> False True True +41 True False False True False True -> False True True +42 False True False True False True -> False True True +43 True True False True False True -> False True True +44 False False True True False True -> False True True +45 True False True True False True -> False True True +46 False True True True False True -> False True True +47 True True True True False True -> False True True +48 False False False False True True -> False True True +49 True False False False True True -> False True True +50 False True False False True True -> False True True +51 True True False False True True -> False True True +52 False False True False True True -> False True True +53 True False True False True True -> False True True +54 False True True False True True -> False True True +55 True True True False True True -> False True True +56 False False False True True True -> False True True +57 True False False True True True -> False True True +58 False True False True True True -> False True True +59 True True False True True True -> False True True +60 False False True True True True -> False True True +61 True False True True True True -> False True True +62 False True True True True True -> False True True +63 True True True True True True -> False True True