new_contents: # -*- coding: iso-8859-1 -*-
  # Maintainer: joaander
  
  from hoomd import *
  from hoomd import md
  context.initialize()
  import unittest
  import os
  import numpy
  
  # tests md.angle.cosinesq
  class angle_cosinesq_tests (unittest.TestCase):
      def setUp(self):
          print
          snap = data.make_snapshot(N=40,
                                    box=data.boxdim(L=100),
                                    particle_types = ['A'],
                                    bond_types = [],
                                    angle_types = ['angleA'],
                                    dihedral_types = [],
                                    improper_types = [])
  
          if comm.get_rank() == 0:
              snap.angles.resize(10);
              for i in range(10):
                  x = numpy.array([i, 0, 0], dtype=numpy.float32)
                  snap.particles.position[4*i+0,:] = x;
                  x += numpy.random.random(3)
                  snap.particles.position[4*i+1,:] = x;
                  x += numpy.random.random(3)
                  snap.particles.position[4*i+2,:] = x;
                  x += numpy.random.random(3)
                  snap.particles.position[4*i+3,:] = x;
  
                  snap.angles.group[i,:] = [4*i+0, 4*i+1, 4*i+2];
  
          init.read_snapshot(snap)
  
          context.current.sorter.set_params(grid=8)
  
      # test to see that se can create an md.angle.cosinesq
      def test_create(self):
          md.angle.cosinesq();
  
      # test setting coefficients
      def test_set_coeff(self):
          cosinesq = md.angle.cosinesq();
          cosinesq.angle_coeff.set('angleA', k=1.0, t0=0.78125)
          all = group.all();
          md.integrate.mode_standard(dt=0.005);
          md.integrate.nve(all);
          run(100);
  
      # test coefficient not set checking
      def test_set_coeff_fail(self):
          cosinesq = md.angle.harmonic();
          all = group.all();
          md.integrate.mode_standard(dt=0.005);
          md.integrate.nve(all);
          self.assertRaises(RuntimeError, run, 100);
  
      def tearDown(self):
          context.initialize();
  
  if __name__ == '__main__':
      unittest.main(argv = ['test.py', '-v'])
  
subject: Add python tests for cosine squared angles