#  Test connectivity for a molecular crystal

from numpy        import array
from chemsh       import *
from chemsh.utils import testutils

urea = Fragment(coords='apps_recursivetest.txt')

reference = array(
      [[ 2,  4,  5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 3,  6,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 0,  8, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 0,  9, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 1, 10, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 1, 11, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [ 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]])

testutils.validate(urea.conn, reference)