def test_ambiguous_width(self): adj = fmt.EastAsianTextAdjustment() assert adj.len("¡¡ab") == 4 with cf.option_context("display.unicode.ambiguous_as_wide", True): adj = fmt.EastAsianTextAdjustment() assert adj.len("¡¡ab") == 6 data = [["あ", "b", "c"], ["dd", "ええ", "ff"], ["ggg", "¡¡ab", "いいい"]] expected = "あ dd ggg \nb ええ ¡¡ab\nc ff いいい" adjoined = adj.adjoin(2, *data) assert adjoined == expected
def test_ambiguous_width(self): adj = fmt.EastAsianTextAdjustment() assert adj.len('¡¡ab') == 4 with cf.option_context('display.unicode.ambiguous_as_wide', True): adj = fmt.EastAsianTextAdjustment() assert adj.len('¡¡ab') == 6 data = [['あ', 'b', 'c'], ['dd', 'ええ', 'ff'], ['ggg', '¡¡ab', 'いいい']] expected = 'あ dd ggg \nb ええ ¡¡ab\nc ff いいい' adjoined = adj.adjoin(2, *data) assert adjoined == expected
def test_ambiguous_width(self): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len(u'¡¡ab'), 4) with cf.option_context('display.unicode.ambiguous_as_wide', True): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len(u'¡¡ab'), 6) data = [[u'あ', 'b', 'c'], ['dd', u'ええ', 'ff'], ['ggg', u'¡¡ab', u'いいい']] expected = u'あ dd ggg \nb ええ ¡¡ab\nc ff いいい' adjoined = adj.adjoin(2, *data) self.assertEqual(adjoined, expected)
def test_adjoin_unicode(self): data = [[u'あ', 'b', 'c'], ['dd', u'ええ', 'ff'], ['ggg', 'hhh', u'いいい']] expected = u'あ dd ggg\nb ええ hhh\nc ff いいい' adjoined = printing.adjoin(2, *data) assert adjoined == expected adj = fmt.EastAsianTextAdjustment() expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(2, *data) assert adjoined == expected cols = adjoined.split('\n') assert adj.len(cols[0]) == 13 assert adj.len(cols[1]) == 13 assert adj.len(cols[2]) == 16 expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(7, *data) assert adjoined == expected cols = adjoined.split('\n') assert adj.len(cols[0]) == 23 assert adj.len(cols[1]) == 23 assert adj.len(cols[2]) == 26
def test_adjoin_unicode(self): data = [["あ", "b", "c"], ["dd", "ええ", "ff"], ["ggg", "hhh", "いいい"]] expected = "あ dd ggg\nb ええ hhh\nc ff いいい" adjoined = printing.adjoin(2, *data) assert adjoined == expected adj = fmt.EastAsianTextAdjustment() expected = """あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(2, *data) assert adjoined == expected cols = adjoined.split("\n") assert adj.len(cols[0]) == 13 assert adj.len(cols[1]) == 13 assert adj.len(cols[2]) == 16 expected = """あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(7, *data) assert adjoined == expected cols = adjoined.split("\n") assert adj.len(cols[0]) == 23 assert adj.len(cols[1]) == 23 assert adj.len(cols[2]) == 26
def test_adjoin_unicode(self): data = [[u'あ', 'b', 'c'], ['dd', u'ええ', 'ff'], ['ggg', 'hhh', u'いいい']] expected = u'あ dd ggg\nb ええ hhh\nc ff いいい' adjoined = printing.adjoin(2, *data) self.assertEqual(adjoined, expected) adj = fmt.EastAsianTextAdjustment() expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(2, *data) self.assertEqual(adjoined, expected) cols = adjoined.split('\n') self.assertEqual(adj.len(cols[0]), 13) self.assertEqual(adj.len(cols[1]), 13) self.assertEqual(adj.len(cols[2]), 16) expected = u"""あ dd ggg b ええ hhh c ff いいい""" adjoined = adj.adjoin(7, *data) self.assertEqual(adjoined, expected) cols = adjoined.split('\n') self.assertEqual(adj.len(cols[0]), 23) self.assertEqual(adj.len(cols[1]), 23) self.assertEqual(adj.len(cols[2]), 26)
def test_east_asian_len(self): adj = fmt.EastAsianTextAdjustment() assert adj.len('abc') == 3 assert adj.len(u'abc') == 3 assert adj.len(u'パンダ') == 6 assert adj.len(u'パンダ') == 5 assert adj.len(u'パンダpanda') == 11 assert adj.len(u'パンダpanda') == 10
def test_east_asian_len(self): adj = fmt.EastAsianTextAdjustment() assert adj.len("abc") == 3 assert adj.len("abc") == 3 assert adj.len("パンダ") == 6 assert adj.len("パンダ") == 5 assert adj.len("パンダpanda") == 11 assert adj.len("パンダpanda") == 10
def test_east_asian_len(self): adj = fmt.EastAsianTextAdjustment() self.assertEqual(adj.len('abc'), 3) self.assertEqual(adj.len(u'abc'), 3) self.assertEqual(adj.len(u'パンダ'), 6) self.assertEqual(adj.len(u'パンダ'), 5) self.assertEqual(adj.len(u'パンダpanda'), 11) self.assertEqual(adj.len(u'パンダpanda'), 10)
def test_justify(self): adj = fmt.EastAsianTextAdjustment() def just(x, *args, **kwargs): # wrapper to test single str return adj.justify([x], *args, **kwargs)[0] assert just('abc', 5, mode='left') == 'abc ' assert just('abc', 5, mode='center') == ' abc ' assert just('abc', 5, mode='right') == ' abc' assert just(u'abc', 5, mode='left') == 'abc ' assert just(u'abc', 5, mode='center') == ' abc ' assert just(u'abc', 5, mode='right') == ' abc' assert just(u'パンダ', 5, mode='left') == u'パンダ' assert just(u'パンダ', 5, mode='center') == u'パンダ' assert just(u'パンダ', 5, mode='right') == u'パンダ' assert just(u'パンダ', 10, mode='left') == u'パンダ ' assert just(u'パンダ', 10, mode='center') == u' パンダ ' assert just(u'パンダ', 10, mode='right') == u' パンダ'
def test_justify(self): adj = fmt.EastAsianTextAdjustment() def just(x, *args, **kwargs): # wrapper to test single str return adj.justify([x], *args, **kwargs)[0] assert just("abc", 5, mode="left") == "abc " assert just("abc", 5, mode="center") == " abc " assert just("abc", 5, mode="right") == " abc" assert just("abc", 5, mode="left") == "abc " assert just("abc", 5, mode="center") == " abc " assert just("abc", 5, mode="right") == " abc" assert just("パンダ", 5, mode="left") == "パンダ" assert just("パンダ", 5, mode="center") == "パンダ" assert just("パンダ", 5, mode="right") == "パンダ" assert just("パンダ", 10, mode="left") == "パンダ " assert just("パンダ", 10, mode="center") == " パンダ " assert just("パンダ", 10, mode="right") == " パンダ"
def east_asian_len(s, ambiguous_width=None): import pandas.io.formats.format as fmt return fmt.EastAsianTextAdjustment().len(s)