def test_getAttributeNames(self): obj = _verticalprofile.new() obj.addAttribute("how/something", 1.0) obj.addAttribute("how/something2", "jupp") result = obj.getAttributeNames() self.assertTrue( set(result) == set(["how/something", "how/something2"]))
def test_addAttribute(self): obj = _verticalprofile.new() obj.addAttribute("how/astr", "astr") obj.addAttribute("how/int", 10) obj.addAttribute("how/double", 10.2) self.assertEqual("astr", obj.getAttribute("how/astr")) self.assertEqual(10, obj.getAttribute("how/int")) self.assertAlmostEqual(10.2, obj.getAttribute("how/double"), 4)
def test_setGetNZ(self): obj = _verticalprofile.new() self.assertTrue(None == obj.getNZ()) f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) obj.setNZ(f) result = obj.getNZ() self.assertAlmostEqual(1.0, result.getAttribute("how/this"), 4) self.assertEqual("nz", result.getAttribute("what/quantity"))
def test_addField_no_quantity(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) try: obj.addField(f) self.fail("Expected AttributeError") except AttributeError: pass
def test_add_how_array_attribute_double(self): obj = _verticalprofile.new() obj.addAttribute("how/something", numpy.arange(10).astype(numpy.float32)) result = obj.getAttribute("how/something") self.assertTrue(isinstance(result, numpy.ndarray)) self.assertEqual(10, len(result)) self.assertAlmostEqual(0.0, result[0], 2) self.assertAlmostEqual(3.0, result[3], 2) self.assertAlmostEqual(5.0, result[5], 2) self.assertAlmostEqual(9.0, result[9], 2)
def test_addField_dev_bird(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "dev_bird") obj.addField(f) result = obj.getField("dev_bird") self.assertAlmostEqual(1.0, result.getAttribute("how/this"), 4) self.assertEqual("dev_bird", result.getAttribute("what/quantity")) self.assertEqual(10, obj.getLevels())
def test_addField_tooHighXsize(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 10), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "ff") try: obj.addField(f) self.fail("Expected AttributeError") except AttributeError: pass self.assertEqual(None, obj.getField("ff"))
def test_hasAttribute(self): obj = _verticalprofile.new() obj.addAttribute("how/something", 1.0) obj.addAttribute("how/something2", "jupp") self.assertEqual(True, obj.hasAttribute("how/something")) self.assertEqual(True, obj.hasAttribute("how/something2")) self.assertEqual(False, obj.hasAttribute("how/something3")) try: obj.hasAttribute(None) self.fail("Expected TypeError") except TypeError: pass
def test_addField_withLevels_preset(self): obj = _verticalprofile.new() obj.setLevels(10) f = _ravefield.new() f.setData(numpy.zeros((11, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "ff") try: obj.addField(f) self.fail("Expected AttributeError") except AttributeError: pass result = obj.getField("ff") self.assertEqual(None, result)
def test_setLevels_withField(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "ff") obj.addField(f) self.assertEqual(10, obj.getLevels()) try: obj.setLevels(1) self.fail("Expected AttributeError") except AttributeError: pass self.assertEqual(10, obj.getLevels())
def test_addField_differentSize(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "ff") obj.addField(f) f2 = _ravefield.new() f2.setData(numpy.zeros((11, 1), numpy.uint8)) f2.addAttribute("how/this", 2.0) f2.addAttribute("what/quantity", "ff_dev") try: obj.addField(f2) self.fail("Expected AttributeError") except AttributeError: pass result = obj.getField("ff") self.assertAlmostEqual(1.0, result.getAttribute("how/this"), 4) result2 = obj.getField("ff_dev") self.assertEqual(None, result2)
def test_getFields(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("how/this", 1.0) f.addAttribute("what/quantity", "ff") obj.addField(f) f2 = _ravefield.new() f2.setData(numpy.zeros((10, 1), numpy.uint8)) f2.addAttribute("how/this", 2.0) f2.addAttribute("what/quantity", "ff_dev") obj.addField(f2) result = obj.getFields() self.assertEqual(2, len(result)) if result[0].getAttribute("what/quantity") == "ff": self.assertEqual("ff_dev", result[1].getAttribute("what/quantity")) elif result[0].getAttribute("what/quantity") == "ff_dev": self.assertEqual("ff", result[1].getAttribute("what/quantity")) else: self.fail("Unexpected combination of quantities")
def test_howSubgroupAttributes(self): obj = _verticalprofile.new() f = _ravefield.new() f.setData(numpy.zeros((10, 1), numpy.uint8)) f.addAttribute("what/quantity", "ff") f.addAttribute("how/something", 1.0) f.addAttribute("how/grp/something", 2.0) try: obj.addAttribute("how/grp/else/", 2.0) self.fail("Expected AttributeError") except AttributeError: pass obj.addField(f) obj.addAttribute("how/something", 3.0) obj.addAttribute("how/grp/something", 4.0) ff_field = obj.getField("ff") self.assertAlmostEqual(1.0, ff_field.getAttribute("how/something"), 4) self.assertAlmostEqual(2.0, ff_field.getAttribute("how/grp/something"), 4) self.assertAlmostEqual(3.0, obj.getAttribute("how/something"), 4) self.assertAlmostEqual(4.0, obj.getAttribute("how/grp/something"), 4)
def test_setGetInterval(self): obj = _verticalprofile.new() self.assertAlmostEqual(0.0, obj.interval, 4) obj.interval = 1.0 self.assertAlmostEqual(1.0, obj.interval, 4)
def test_setGetLatitude(self): obj = _verticalprofile.new() self.assertAlmostEqual(0.0, obj.latitude, 4) obj.latitude = 1.0 self.assertAlmostEqual(1.0, obj.latitude, 4)
def test_setGetProdname(self): obj = _verticalprofile.new() self.assertTrue(None == obj.prodname) obj.prodname = "Prod name" self.assertEqual("Prod name", obj.prodname)
def test_setGetLevels(self): obj = _verticalprofile.new() self.assertEqual(0, obj.getLevels()) obj.setLevels(1) self.assertEqual(1, obj.getLevels(), 4)
def test_isVerticalProfile(self): obj = _verticalprofile.new() param = _ravefield.new() self.assertTrue(_verticalprofile.isVerticalProfile(obj)) self.assertFalse(_verticalprofile.isVerticalProfile(param))
def test_setGetProduct(self): obj = _verticalprofile.new() self.assertTrue(None == obj.product) obj.product = "VP" self.assertEqual("VP", obj.product, 4)
def test_setGetMaxheight(self): obj = _verticalprofile.new() self.assertAlmostEqual(0.0, obj.maxheight, 4) obj.maxheight = 1.0 self.assertAlmostEqual(1.0, obj.maxheight, 4)
def test_new(self): obj = _verticalprofile.new() self.assertNotEqual(-1, str(type(obj)).find("VerticalProfileCore"))
def test_setGetendTime(self): obj = _verticalprofile.new() self.assertTrue(None == obj.endtime) obj.endtime = "000000" self.assertEqual("000000", obj.endtime, 4)
def test_setGetendDate(self): obj = _verticalprofile.new() self.assertTrue(None == obj.enddate) obj.enddate = "20171103" self.assertEqual("20171103", obj.enddate, 4)