8 sys.path.insert(0, os.path.abspath(
".."))
9 from gnsstk.test_utils
import args, assertSequenceAlmostEqual, run_unit_tests
18 a = gnsstk.Vector_int(5)
19 self.assertEqual(5, len(a),
"Vector must initialize with provided size")
22 a = gnsstk.Vector_int(6, 89)
23 self.assertSequenceEqual([89, 89, 89, 89, 89, 89], list(a),
"Vector must initialize with provided size and default value")
26 a = gnsstk.Vector_int(6, 42)
27 b = gnsstk.Vector_int(a)
28 self.assertSequenceEqual([42, 42, 42, 42, 42, 42], list(b))
29 self.assertIsNot(a, b,
"Copy constructor must make a new instance")
32 a = gnsstk.Vector_int(6, 23)
33 self.assertSequenceEqual([23, 23, 23, 23, 23, 23], list(a))
36 self.assertSequenceEqual([23, 23, 23], list(a),
"Vector resize must reduce the list")
41 self.assertSequenceEqual([42, 42, 42, 42, 42], list(a),
"Vector resize must increase size with provided default value")
48 a = gnsstk.Vector_int()
49 self.assertEqual(0, len(a))
51 for i
in range(0, 10):
54 self.assertSequenceEqual(list(
range(10)), list(a))
57 a = gnsstk.Vector_int(2, 1)
58 b = gnsstk.Vector_int(2, 2)
59 c = gnsstk.Vector_int(2, 3)
64 d = a.extend(b).extend(c)
65 self.assertSequenceEqual([1, 1, 2, 2, 3, 3], list(d))
68 a = gnsstk.Vector_int(10, 0)
69 for i
in range(len(a)):
74 self.assertEqual(0, next(a_iter))
75 self.assertEqual(2, next(a_iter))
76 self.assertEqual(4, next(a_iter))
79 a_dump = [v
for v
in a]
80 self.assertSequenceEqual([0, 2, 4, 6, 8, 10, 12, 14, 16, 18], a_dump)
83 a = gnsstk.Vector_int(10, 3)
84 self.assertIsInstance(a, gnsstk.Vector_int)
87 self.assertIsInstance(b, gnsstk.std_vector_int)
89 self.assertSequenceEqual([3, 3, 3, 3, 3, 3, 3, 3, 3, 3], list(a))
90 self.assertSequenceEqual([3, 3, 3, 3, 3, 3, 3, 3, 3, 3], list(b))
94 a = gnsstk.Vector_double(5, 2.0).extend(gnsstk.Vector_double(3, 4.5))
95 self.assertAlmostEqual(23.5, gnsstk.Vector_sum_double(a))
101 a = gnsstk.Vector_int()
102 for i
in [-1, -2, 56, -6, -89, -45]:
105 self.assertEqual(-89, gnsstk.Vector_min_int(a))
106 self.assertEqual(-1, gnsstk.Vector_minabs_int(a))
107 self.assertEqual(56, gnsstk.Vector_max_int(a))
112 a = gnsstk.Vector_double(3, 4)
113 a = a.extend(gnsstk.Vector_double(3, 2))
114 a = a.extend(gnsstk.Vector_double(3, -2.5))
116 self.assertAlmostEqual(8.87411967, gnsstk.Vector_norm_double(a))
119 a = gnsstk.Vector_int(3, 2)
120 a = a.extend(gnsstk.Vector_int(3, 23))
121 a = a.extend(gnsstk.Vector_int(3, -5))
125 self.assertEqual(240, gnsstk.Vector_dotscalar_int(a, 4))
126 self.assertEqual(240, gnsstk.Vector_dotscalar_int(4, a))
129 a = gnsstk.Vector_double(9, -34)
130 a = a.extend(gnsstk.Vector_double(9, -78))
131 a = a.extend(gnsstk.Vector_double(9, -74))
133 b = gnsstk.Vector_normalize_double(a)
134 self.assertIsNot(a, b)
138 -0.10050378, -0.10050378, -0.10050378, -0.10050378, -0.10050378, -0.10050378, -0.10050378, -0.10050378, -0.10050378,
139 -0.23056749, -0.23056749, -0.23056749, -0.23056749, -0.23056749, -0.23056749, -0.23056749, -0.23056749, -0.23056749,
140 -0.21874352, -0.21874352, -0.21874352, -0.21874352, -0.21874352, -0.21874352, -0.21874352, -0.21874352, -0.21874352,
146 a = gnsstk.Vector_double(3, -7)
147 a = a.extend(gnsstk.Vector_double(3, 4.5))
148 a = a.extend(gnsstk.Vector_double(3, 20))
150 self.assertAlmostEqual(37.51999466, gnsstk.Vector_RSS_double(a))
151 self.assertAlmostEqual(12.50666488, gnsstk.Vector_RMS_double(a))
156 a = gnsstk.Vector_double(3, 0.45)
157 a = a.extend(gnsstk.Vector_double(3, 0.23))
158 a = a.extend(gnsstk.Vector_double(3, 0.1))
160 gnsstk_vector_ops = [
161 gnsstk.Vector_abs_double,
162 gnsstk.Vector_acos_double,
163 gnsstk.Vector_asin_double,
164 gnsstk.Vector_atan_double,
165 gnsstk.Vector_cos_double,
166 gnsstk.Vector_cosh_double,
167 gnsstk.Vector_exp_double,
168 gnsstk.Vector_log_double,
169 gnsstk.Vector_log10_double,
170 gnsstk.Vector_sinh_double,
171 gnsstk.Vector_sin_double,
172 gnsstk.Vector_sqrt_double,
173 gnsstk.Vector_tan_double,
174 gnsstk.Vector_tanh_double,
186 lambda v: math.log(v, 10),
194 for gnsstk_op, python_op
in zip(gnsstk_vector_ops, python_math_ops):
202 if __name__ ==
"__main__":