Newer
Older
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
import unittest
from wetb.hawc2.at_time_file import AtTimeFile
import numpy as np
tfp = os.path.join(os.path.dirname(__file__), 'test_files/') # test file path
self.testfilepath = os.path.join(os.path.dirname(__file__), 'test_files/') # test file path
atfile = AtTimeFile(self.testfilepath + "at_time.dat", bladetip_radius=20.501) # load file
self.assertEqual(atfile.attribute_names, ['radius_s', 'twist', 'chord'])
np.testing.assert_array_equal(atfile[:3, 1], [ 0., -0.775186, -2.91652 ])
np.testing.assert_array_equal(atfile.twist()[:3], [ 0. , -0.775186 , -2.91652 ])
self.assertAlmostEqual(atfile.twist(10), -5.34743208242399) # Twist at radius = 10 (interpolated)
self.assertEqual(atfile.twist(10,curved_length=True), -5.34743208242399) # Twist at radius = 10 (interpolated)
def test_at_time_file(self):
atfile = AtTimeFile(self.testfilepath + "at_time.dat")
self.assertEqual(atfile.attribute_names, ['radius_s', 'twist', 'chord'])
self.assertEqual(atfile.radius_s()[9], 6.32780)
self.assertEqual(atfile.twist()[9], -13.5373)
self.assertEqual(atfile.chord()[9], 1.54999)
def test_at_time_file_at_curved_radius(self):
self.assertEqual(atfile.radius_s(9, curved_length=True), 9)
self.assertEqual(atfile.twist(9, curved_length=True), -6.635983309665461)
self.assertEqual(atfile.chord(9, curved_length=True), 1.3888996578373045)
def test_at_time_file_at_radius(self):
atfile = AtTimeFile(self.testfilepath + "at_time.dat", bladetip_radius=20.501/2)
self.assertEqual(atfile.radius_s(9/2), 9)
self.assertEqual(atfile.twist(9/2), -6.635983309665461)
self.assertEqual(atfile.chord(9/2), 1.3888996578373045)
def test_at_time_file_radius(self):
atfile = AtTimeFile(self.testfilepath + "at_time.dat")
self.assertEqual(atfile.radius_curved_ac()[12], 10.2505)
self.assertEqual(atfile.radius_curved_ac(10), 10.2505)
self.assertEqual(atfile.radius_curved_ac(10.5), 10.2505)
def test_rotor_name_null(self):
atfile = AtTimeFile(self.testfilepath + "at_time/test_rotor_name_null.dat", bladetip_radius=20.501) # load file
print (atfile.radius_s())
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
unittest.main()