import random import unittest from unittest.mock import patch from pyecharts import options as opts from pyecharts.charts import GraphGL class TestGraphGLChart(unittest.TestCase): @patch("pyecharts.render.engine.write_utf8_html_file") def test_graph_gl_base(self, fake_writer): nodes = [] for i in range(50): for j in range(50): nodes.append( opts.GraphGLNode( x=random.random() * 958, y=random.random() * 777, value=1, ) ) links = [] for i in range(50): for j in range(50): if i < 50 - 1: links.append( opts.GraphGLLink( source=i + j * 50, target=i + 1 + j * 50, value=1, ) ) if j < 50 - 1: links.append( opts.GraphGLLink( source=i + j * 50, target=i + (j + 1) * 50, value=1, ) ) c = ( GraphGL(init_opts=opts.InitOpts()) .add( series_name="", nodes=nodes, links=links, itemstyle_opts=opts.ItemStyleOpts(color="rgba(255,255,255,0.8)"), linestyle_opts=opts.LineStyleOpts( color="rgba(255,255,255,0.8)", width=3 ), force_atlas2_opts=opts.GraphGLForceAtlas2Opts( steps=5, edge_weight_influence=4, ), ) .set_dark_mode() ) c.render() _, content = fake_writer.call_args[0] self.assertEqual(c.theme, "dark") self.assertEqual(c.renderer, "canvas")