feat: more accurate graph
This commit is contained in:
parent
d0c740a1a1
commit
d827cb172d
11
main.py
11
main.py
@ -31,10 +31,13 @@ def this_week() -> str:
|
|||||||
|
|
||||||
def make_graph(percent: float) -> str:
|
def make_graph(percent: float) -> str:
|
||||||
'''Make progress graph from API graph'''
|
'''Make progress graph from API graph'''
|
||||||
done_block = '█'
|
blocks = "░▒▓█"
|
||||||
empty_block = '░'
|
graph = blocks[3] * int(percent / 4 + 1 / 6)
|
||||||
pc_rnd = round(percent)
|
remainder_block = int((percent + 2 / 3) % 4 * 3 / 4)
|
||||||
return f"{done_block*int(pc_rnd/4)}{empty_block*int(25-int(pc_rnd/4))}"
|
if remainder_block > 0:
|
||||||
|
graph += blocks[remainder_block]
|
||||||
|
graph += blocks[0] * (25 - len(graph))
|
||||||
|
return graph
|
||||||
|
|
||||||
|
|
||||||
def get_stats() -> str:
|
def get_stats() -> str:
|
||||||
|
@ -13,18 +13,26 @@ class TestMain(unittest.TestCase):
|
|||||||
"0% should return ░░░░░░░░░░░░░░░░░░░░░░░░░")
|
"0% should return ░░░░░░░░░░░░░░░░░░░░░░░░░")
|
||||||
self.assertEqual(make_graph(100), "█████████████████████████",
|
self.assertEqual(make_graph(100), "█████████████████████████",
|
||||||
"100% should return █████████████████████████")
|
"100% should return █████████████████████████")
|
||||||
self.assertEqual(make_graph(50), "████████████░░░░░░░░░░░░░",
|
self.assertEqual(make_graph(50), "████████████▒░░░░░░░░░░░░",
|
||||||
"50% should return ████████████░░░░░░░░░░░░░")
|
"50% should return ████████████▒░░░░░░░░░░░░")
|
||||||
self.assertEqual(make_graph(25), "██████░░░░░░░░░░░░░░░░░░░",
|
self.assertEqual(make_graph(50.001), "████████████▓░░░░░░░░░░░░",
|
||||||
"25% should return ██████░░░░░░░░░░░░░░░░░░░")
|
"50.001% should return ████████████▓░░░░░░░░░░░░")
|
||||||
self.assertEqual(make_graph(75), "██████████████████░░░░░░░",
|
self.assertEqual(make_graph(25), "██████▒░░░░░░░░░░░░░░░░░░",
|
||||||
"75% should return ██████████████████░░░░░░░")
|
"25% should return ██████▒░░░░░░░░░░░░░░░░░░")
|
||||||
self.assertEqual(make_graph(3.14), "░░░░░░░░░░░░░░░░░░░░░░░░░",
|
self.assertEqual(make_graph(75), "██████████████████▓░░░░░░",
|
||||||
"3.14% should return ░░░░░░░░░░░░░░░░░░░░░░░░░")
|
"75% should return ██████████████████▓░░░░░░")
|
||||||
self.assertEqual(make_graph(9.901), "██░░░░░░░░░░░░░░░░░░░░░░░",
|
self.assertEqual(make_graph(3.14), "▓░░░░░░░░░░░░░░░░░░░░░░░░",
|
||||||
"9.901% should return ██░░░░░░░░░░░░░░░░░░░░░░░")
|
"3.14% should return ▓░░░░░░░░░░░░░░░░░░░░░░░░")
|
||||||
self.assertEqual(make_graph(87.5), "██████████████████████░░░",
|
self.assertEqual(make_graph(9.901), "██▒░░░░░░░░░░░░░░░░░░░░░░",
|
||||||
"87.5% should return ██████████████████████░░░")
|
"9.901% should return ██▒░░░░░░░░░░░░░░░░░░░░░░")
|
||||||
|
self.assertEqual(make_graph(87.334), "██████████████████████░░░",
|
||||||
|
"87.334% should return ██████████████████████░░░")
|
||||||
|
self.assertEqual(make_graph(87.333), "█████████████████████▓░░░",
|
||||||
|
"87.333% should return █████████████████████▓░░░")
|
||||||
|
self.assertEqual(make_graph(4.666), "█░░░░░░░░░░░░░░░░░░░░░░░░",
|
||||||
|
"4.666% should return █░░░░░░░░░░░░░░░░░░░░░░░░")
|
||||||
|
self.assertEqual(make_graph(4.667), "█▒░░░░░░░░░░░░░░░░░░░░░░░",
|
||||||
|
"4.667% should return █▒░░░░░░░░░░░░░░░░░░░░░░░")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user