QureadAI / tests /test_heatmap.py
hchevva's picture
Upload 10 files
d473aef verified
raw
history blame contribute delete
931 Bytes
import unittest
import matplotlib
matplotlib.use("Agg")
from quread.heatmap import HeatmapConfig, make_activity_heatmap
class HeatmapTest(unittest.TestCase):
def test_malformed_rows_are_skipped_without_crashing(self):
csv_text = "\n".join(
[
"step,gate,target,control,theta",
"0,H,0,,",
"1,CNOT,1,0,",
"2,H,not_an_int,,",
"3,,1,,",
]
)
fig = make_activity_heatmap(csv_text, n_qubits=2, cfg=HeatmapConfig(rows=2, cols=2))
ax = fig.axes[0]
grid = ax.images[0].get_array()
labels = [t.get_text() for t in ax.texts]
self.assertEqual(float(grid[0, 0]), 2.0) # q0: H + CNOT(control)
self.assertEqual(float(grid[0, 1]), 1.0) # q1: CNOT(target)
self.assertIn("Skipped 2 malformed CSV row(s)", labels)
if __name__ == "__main__":
unittest.main()