def test1(self): print "Test 1: initialization" instance = SPHRayInterface(**default_options) self.assertEqual(0, instance.initialize_code()) self.assertEquals(0, instance.set_sphray_data_directory(instance.data_directory)) self.assertEquals(0, instance.set_sphray_output_directory(instance.output_directory)) self.assertEqual(0, instance.commit_parameters()) self.assertEqual(0, instance.cleanup_code()) instance.stop()
def test5(self): instance = SPHRayInterface() instance.initialize_code() for x, l in [('isothermal', 0), ('H_caseA', 1), ('He_caseA', 1)]: result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, l)) err = getattr(instance, 'set_' + x)(1) result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, 1)) err = getattr(instance, 'set_' + x)(0) result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, 0)) for x, l in [('iontempsolver', 2), ('boundary', 0)]: result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, l)) err = getattr(instance, 'set_' + x)(1) result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, 1)) err = getattr(instance, 'set_' + x)(0) result, err = getattr(instance, 'get_' + x)() self.assertEqual((x, result), (x, 0)) for x, l in [('raynumber', 1000000.), ('boxsize', 13.2), ("defaultspectype", -1.)]: result, err = getattr(instance, 'get_' + x)() self.assertAlmostEqual(result, l, 6) err = getattr(instance, 'set_' + x)(1.) result, err = getattr(instance, 'get_' + x)() self.assertAlmostEqual(result, 1., 6) err = getattr(instance, 'set_' + x)(0) result, err = getattr(instance, 'get_' + x)() self.assertAlmostEqual(result, 0., 6) result, err = instance.get_globalHefraction() self.assertEqual(err, 0) self.assertEqual(result, 0.) err = instance.set_globalHefraction(0.1) instance.stop() self.assertEqual(err, -2)
def test5(self): instance=SPHRayInterface() instance.initialize_code() for x,l in [('isothermal',0), ('H_caseA',1),('He_caseA',1)]: result,err=getattr(instance, 'get_'+x)() self.assertEquals( (x,result),(x,l)) err=getattr(instance, 'set_'+x)(1) result,err=getattr(instance, 'get_'+x)() self.assertEquals( (x,result),(x,1)) err=getattr(instance, 'set_'+x)(0) result,err=getattr(instance, 'get_'+x)() self.assertEquals((x,result),(x,0)) for x,l in [('iontempsolver',2),('boundary',0)]: result,err=getattr(instance, 'get_'+x)() self.assertEquals( (x,result),(x,l)) err=getattr(instance, 'set_'+x)(1) result,err=getattr(instance, 'get_'+x)() self.assertEquals( (x,result),(x,1)) err=getattr(instance, 'set_'+x)(0) result,err=getattr(instance, 'get_'+x)() self.assertEquals((x,result),(x,0)) for x,l in [('raynumber',1000000.),('boxsize',13.2),("defaultspectype",-1.)]: result,err=getattr(instance, 'get_'+x)() self.assertAlmostEqual( result,l ,6) err=getattr(instance, 'set_'+x)(1.) result,err=getattr(instance, 'get_'+x)() self.assertAlmostEqual( result,1. ,6) err=getattr(instance, 'set_'+x)(0) result,err=getattr(instance, 'get_'+x)() self.assertAlmostEqual( result,0. ,6) result,err=instance.get_globalHefraction() self.assertEqual(err, 0) self.assertEqual(result,0.) err=instance.set_globalHefraction(0.1) instance.stop() self.assertEqual(err, -2)
def test2(self): print "Test 2: add, commit_particles" instance = SPHRayInterface(**default_options) self.assertEqual(0, instance.set_sphray_data_directory(instance.data_directory)) self.assertEquals(0, instance.set_sphray_output_directory(instance.output_directory)) self.assertEqual(0, instance.initialize_code()) self.assertEqual(0, instance.commit_parameters()) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_4K") mass, hsml, x, y, z, rho, xe, u = self.read_gas_file(input_file) number_of_gas_particles = len(x) indices, errors = instance.new_gas_particle(mass, hsml, x, y, z, rho, xe, u) self.assertEqual(errors, [0]*number_of_gas_particles) self.assertEqual(indices, range(1,number_of_gas_particles+1)) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_sources_001.1") L, xs, ys, zs, spctype = self.read_src_file(input_file) number_of_src_particles = len(xs) s_indices, errors = instance.new_src_particle(L, xs, ys, zs, spctype) self.assertEqual(errors, [0]*number_of_src_particles) self.assertEqual(s_indices, range(number_of_gas_particles+1,number_of_src_particles+number_of_gas_particles+1)) self.assertEqual(0, instance.commit_particles()) mass2, hsml2, x2, y2, z2, rho2, xe2, u2 , error = instance.get_state_gas(indices) self.assertAlmostEqual((mass-mass2), numpy.zeros_like(x), 7) self.assertAlmostEqual((hsml-hsml2), numpy.zeros_like(x), 7) self.assertAlmostEqual((x-x2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((y-y2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((z-z2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((rho-rho2), numpy.zeros_like(x), 7) # self.assertAlmostEqual((xe-xe2), numpy.zeros_like(x), 7) self.assertAlmostEqual((u-u2), numpy.zeros_like(x), 7) L2, xs2, ys2, zs2, spctype2 , error = instance.get_state_src(s_indices) self.assertAlmostEqual((L-L2), numpy.zeros_like(xs), 7) self.assertAlmostEqual((xs-xs2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((ys-ys2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((zs-zs2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((spctype-spctype2), numpy.zeros_like(xs), 7) self.assertEqual(0, instance.cleanup_code()) instance.stop()
def test6(self): print "Test 3: add, commit_particles, setters, remove with velocity" instance = SPHRayInterface(**default_options) self.assertEqual(0, instance.set_sphray_data_directory(instance.data_directory)) self.assertEquals(0, instance.set_sphray_output_directory(instance.output_directory)) self.assertEqual(0, instance.initialize_code()) self.assertEqual(0, instance.commit_parameters()) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_4K") mass, hsml, x, y, z, rho, xe, u,vx,vy,vz = self.read_gas_file_vel(input_file) number_of_gas_particles = len(x) indices, errors = instance.new_gas_particle(mass, hsml, x, y, z, rho, xe, u,vx,vy,vz) self.assertEqual(errors, [0]*number_of_gas_particles) self.assertEqual(indices, range(1,number_of_gas_particles+1)) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_sources_001.1") L, xs, ys, zs, spctype = self.read_src_file(input_file) number_of_src_particles = len(xs) s_indices, errors = instance.new_src_particle(L, xs, ys, zs, spctype) self.assertEqual(errors, [0]*number_of_src_particles) self.assertEqual(s_indices, range(number_of_gas_particles+1,number_of_src_particles+number_of_gas_particles+1)) self.assertEqual(0, instance.commit_particles()) mass2, hsml2, x2, y2, z2, rho2, xe2, u2 , error = instance.get_state_gas(indices) vx2,vy2,vz2,error=instance.get_vel_gas(indices) self.assertAlmostEqual((mass-mass2), numpy.zeros_like(x), 7) self.assertAlmostEqual((hsml-hsml2), numpy.zeros_like(x), 7) self.assertAlmostEqual((x-x2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((y-y2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((z-z2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((vx-vx2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((vy-vy2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((vz-vz2)/13200., numpy.zeros_like(x), 7) self.assertAlmostEqual((rho-rho2), numpy.zeros_like(x), 7) # self.assertAlmostEqual((xe-xe2), numpy.zeros_like(x), 7) self.assertAlmostEqual((u-u2), numpy.zeros_like(x), 7) L2, xs2, ys2, zs2, spctype2 , error = instance.get_state_src(s_indices) self.assertAlmostEqual((L-L2), numpy.zeros_like(xs), 7) self.assertAlmostEqual((xs-xs2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((ys-ys2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((zs-zs2)/13200., numpy.zeros_like(xs), 7) self.assertAlmostEqual((spctype-spctype2), numpy.zeros_like(xs), 7) error=instance.set_state_gas(100,1.,2.,3.,4.,5.,6.,7.,8.) self.assertEqual(0, error) error=instance.set_vel_gas(100,9.,10.,11.) self.assertEqual(0, error) error=instance.set_state_gas(10000,1.,2.,3.,4.,5.,6.,7.,8.) self.assertEqual(-1, error) m,h,x,y,z,rho,xe,u,error=instance.get_state_gas(100) vx,vy,vz,error=instance.get_vel_gas(100) self.assertEqual(0, error) self.assertAlmostEqual(m, 1., 7) self.assertAlmostEqual(h, 2., 7) self.assertAlmostEqual(x, 3., 7) self.assertAlmostEqual(y, 4., 7) self.assertAlmostEqual(z, 5., 7) self.assertAlmostEqual(rho, 6., 7) # self.assertAlmostEqual(xe, 7., 7) self.assertAlmostEqual(u, 8., 7) self.assertAlmostEqual(vx, 9., 7) self.assertAlmostEqual(vy, 10., 7) self.assertAlmostEqual(vz, 11., 7) error=instance.remove_gas_particle(100) self.assertEqual(0, error) error=instance.remove_gas_particle(100) self.assertEqual(-4, error) error=instance.set_state_src(4097,1.,2.,3.,4.,5.) self.assertEqual(0, error) error=instance.set_state_src(10000,1.,2.,3.,4.,5.) self.assertEqual(-1, error) L,x,y,z,s,error=instance.get_state_src(4097) self.assertEqual(0, error) self.assertAlmostEqual(L, 1., 7) self.assertAlmostEqual(x, 2., 7) self.assertAlmostEqual(y, 3., 7) self.assertAlmostEqual(z, 4., 7) self.assertAlmostEqual(s, 5., 7) error=instance.remove_src_particle(4097) self.assertEqual(0, error) error=instance.remove_src_particle(4097) self.assertEqual(-4, error) instance.recommit_particles() error=instance.remove_gas_particle(100) self.assertEqual(-1, error) error=instance.remove_gas_particle(4097) self.assertEqual(-1, error) self.assertEqual(0, instance.cleanup_code()) instance.stop()
def test4(self): print "Test 2: set, get time" instance = SPHRayInterface(**default_options) self.assertEqual(0, instance.set_sphray_data_directory(instance.data_directory)) self.assertEquals(0, instance.set_sphray_output_directory(instance.output_directory)) self.assertEqual(0, instance.initialize_code()) self.assertEqual(0, instance.commit_parameters()) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_4K") mass, hsml, x, y, z, rho, xe, u = self.read_gas_file(input_file) number_of_gas_particles = len(x) indices, errors = instance.new_gas_particle(mass, hsml, x, y, z, rho, xe, u) self.assertEqual(errors, [0]*number_of_gas_particles) self.assertEqual(indices, range(1,number_of_gas_particles+1)) input_file = os.path.join(os.path.dirname(__file__), "test_sphray_data_sources_001.1") L, xs, ys, zs, spctype = self.read_src_file(input_file) number_of_src_particles = len(xs) s_indices, errors = instance.new_src_particle(L, xs, ys, zs, spctype) self.assertEqual(errors, [0]*number_of_src_particles) self.assertEqual(s_indices, range(number_of_gas_particles+1,number_of_src_particles+number_of_gas_particles+1)) self.assertEqual(0, instance.commit_particles()) time,err= instance.get_time() self.assertEqual(0,err) self.assertEqual(0.,time) err= instance.set_time(123.) self.assertEqual(-1,err) # because we don't know whether it is safe yet time,err= instance.get_time() instance.stop() self.assertEqual(0,err) self.assertEqual(123.,time)