public void testParseSymmetricNet() { final PeriodicGraph H = NetParser.stringToNet( "" + "NET # primitive cubic\n" + " Group P432\n" + " Node 1 0,0,0\n" + " Edge 1 1 x+1,y,z\n" + "END\n"); assertEquals(1, H.numberOfNodes()); assertEquals(3, H.numberOfEdges()); final INode v = (INode) H.nodes().next(); assertNotNull(H.getEdge(v, v, new Vector(1, 0, 0))); assertNotNull(H.getEdge(v, v, new Vector(0, 1, 0))); assertNotNull(H.getEdge(v, v, new Vector(0, 0, 1))); final PeriodicGraph D = NetParser.stringToNet( "" + "NET # the diamond net\n" + " Group Fd-3m\n" + " Node 1 3/8,3/8,3/8\n" + " Edge 1 1 1-x,1-y,1-z\n" + "END\n"); assertEquals(dia, D); final PeriodicGraph sq = NetParser.stringToNet( "" + "NET # square lattice on the plane\n" + " Group p4mm\n" + " Node 1 0,0\n" + " Edge 1 1 x+1,y\n" + "END\n"); assertEquals(1, sq.numberOfNodes()); assertEquals(2, sq.numberOfEdges()); final INode w = (INode) sq.nodes().next(); assertNotNull(sq.getEdge(w, w, new Vector(1, 0))); assertNotNull(sq.getEdge(w, w, new Vector(0, 1))); final PeriodicGraph hex1 = NetParser.stringToNet( "" + "NET # planar honeycombs\n" + " Group p6mm\n" + " Node 1 2/3,1/3\n" + " Edge 1 1 y,y-x\n" + "END\n"); final PeriodicGraph hex2 = NetParser.stringToNet( "" + "PERIODIC_GRAPH # planar honeycombs\n" + " 1 2 0 0\n" + " 1 2 1 0\n" + " 1 2 0 1\n" + "END\n"); assertEquals(hex2, hex1); }