| 
				
				
				
				 | 
			
			 | 
			@@ -1,45 +0,0 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			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),))) |