123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # -*- coding: utf-8 -*-
- """
- Created on Thu Jun 19 14:13:53 2014
- @author: pietro
- """
- import sys
- import unittest
- import numpy as np
- from grass.gunittest.case import TestCase
- from grass.gunittest.main import test
- import grass.lib.vector as libvect
- from grass.script.core import run_command
- from grass.pygrass.vector import VectorTopo
- class GeometryAttrsTestCase(TestCase):
- tmpname = "GeometryAttrsCase_map"
- @classmethod
- def setUpClass(cls):
- from grass.pygrass import utils
- utils.create_test_vector_map(cls.tmpname)
- cls.vect = None
- cls.vect = VectorTopo(cls.tmpname)
- cls.vect.open("r")
- cls.c_mapinfo = cls.vect.c_mapinfo
- cls.attrs = cls.vect[1].attrs
- @classmethod
- def tearDownClass(cls):
- cls.attrs = None
- if cls.vect is not None:
- cls.vect.close()
- cls.c_mapinfo = None
- """Remove the generated vector map, if exist"""
- cls.runModule("g.remove", flags="f", type="vector", name=cls.tmpname)
- def test_getitem(self):
- """Test __getitem__ magic method"""
- self.assertEqual(self.attrs["name"], "point")
- self.assertEqual(self.attrs["value"], 1.0)
- self.assertTupleEqual(self.attrs["name", "value"], ("point", 1.0))
- with self.assertRaises(ValueError) as cm:
- self.attrs["not_existing_column_name"]
- self.assertTrue("not_existing_column_name" in str(cm.exception))
- def test_setitem(self):
- """Test __setitem__ magic method"""
- newname = "setitem_point_1"
- newvalue = 100.0
- newpairs = ("setitem_point_2", 1000.0)
- self.attrs.__setitem__("name", newname)
- self.assertEqual(self.attrs["name"], newname)
- self.attrs.__setitem__("value", newvalue)
- self.assertEqual(self.attrs["value"], newvalue)
- self.attrs.__setitem__(("name", "value"), newpairs)
- self.assertEqual(self.attrs["name", "value"], newpairs)
- if __name__ == "__main__":
- test()
|