Newer
Older
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import os
from future import standard_library
import mock
from wetb.hawc2 import ae_file
import numpy as np
standard_library.install_aliases()
testfilepath = os.path.join(os.path.dirname(__file__), 'test_files/') # test file path
def test_aefile(self):
ae = AEFile(testfilepath + "NREL_5MW_ae.txt")
self.assertEqual(ae.thickness(38.950), 21)
self.assertEqual(ae.chord(38.950), 3.256)
self.assertEqual(ae.pc_set_nr(38.950), 1)
def test_aefile_interpolate(self):
ae = AEFile(testfilepath + "NREL_5MW_ae.txt")
self.assertEqual(ae.thickness(32), 23.78048780487805)
self.assertEqual(ae.chord(32), 3.673)
self.assertEqual(ae.pc_set_nr(32), 1)
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def test_ae_file_main(self):
def no_print(s):
pass
with mock.patch.object(ae_file, "__name__", "__main__"):
with mock.patch.object(ae_file, "print", no_print):
getattr(ae_file, 'main')()
def test_add_set(self):
ae = AEFile(testfilepath + "NREL_5MW_ae.txt")
ae.add_set(radius=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
chord=[1.1, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1],
thickness=[100.0, 100.0, 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0, 10.0],
pc_set_id=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])
ae.add_set(radius=[0.0, 0.1],
chord=[1.1, 1.0],
thickness=[100.0, 100.0],
pc_set_id=[1.0, 1.0],
set_id=4)
self.assertEqual(ae.thickness(38.950), 21)
self.assertEqual(ae.chord(38.950), 3.256)
self.assertEqual(ae.pc_set_nr(38.950), 1)
np.testing.assert_array_equal(ae.chord(None, 2), [1.1, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1])
np.testing.assert_array_equal(ae.ae_sets[2][:2], ae.ae_sets[4])
def test_str(self):
ae = AEFile(testfilepath + "NREL_5MW_ae.txt")
ref = """1 r[m] Chord[m] T/C[%] Set no.
1 19
0.00000000000000000e+00 3.54199999999999982e+00 1.00000000000000000e+02 1"""
self.assertEqual(str(ae)[:len(ref)], ref)
def test_save(self):
ae = AEFile()
ae.add_set(radius=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],
chord=[1.1, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1],
thickness=[100.0, 100.0, 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0, 10.0],
pc_set_id=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])
fn = testfilepath + "tmp/ae_file.txt"
ae.save(fn)
ae2 = AEFile(fn)
assert str(ae) == str(ae2)