| 
							- import json
 - import networkx as nx
 - from abp import GraphState, NXGraphState
 - from abp import clifford
 - from abp.util import xyz
 - import mock
 - 
 - 
 - def test_json_basic():
 -     """ Test that we can export to JSON """
 -     g = mock.simple_graph()
 -     js = g.to_json()
 -     assert "adj" in js
 -     assert "node" in js
 - 
 - 
 - def test_tuple_keys():
 -     """ Test that we can use tuple-ish keys """
 -     g = NXGraphState()
 -     g.add_qubit("string")
 -     g.add_qubit((1, 2, 3))
 -     g.add_edge((1, 2, 3), "string")
 -     json.dumps(g.to_json(True))
 - 
 - 
 - def networkx_test():
 -     """ Test that NXGraphStates really behave like networkx graphs """
 -     g = NXGraphState()
 -     g.add_qubit(0, position=xyz(10, 0, 0))
 -     g.add_qubit(1, position=xyz(1, 0, 0))
 -     g.act_hadamard(0)
 -     g.act_hadamard(1)
 -     g.act_cz(0, 1)
 -     g.copy()
 - 
 - 
 - def test_from_nx():
 -     """ Test that making graphs from networkx objects goes smoothly """
 -     g = nx.random_geometric_graph(100, 2)
 -     psi = NXGraphState(g)
 -     assert psi.node[0]["vop"] == 0
 -     assert len(psi.edges()) > 0
 -     psi.measure(0, "px", detail=True)
 - 
 -     psi = NXGraphState(nx.Graph(((0, 1),)))
 
 
  |