def testColumnNames(self): table = Table('census', self.schema).data(self.df) self.assertEqual(len(table.column_names()), 22) view = table.find({}, {'Information':True, 'State':True}) self.assertEqual(view.column_names(), ['Information', 'State']) view2 = view.find({}, {'State':True}) self.assertEqual(view2.column_names(), ['State'])
class TestAttributeImplicitSieve(unittest.TestCase): def setUp(self): self.df = pd.read_csv(RSC_DIR+'/census.csv') with open(RSC_DIR+'/schema_census') as f: schema = json.loads(f.read()) self.schema = OrderedDict(attributes = schema['attributes'], index = schema['index']) self.table = Table('census', self.schema).data(self.df) def tearDown(self): names.clear() def testDomain(self): s = AttributeImplicitSieve(self.table, []) self.assertSetEqual(s.domain , set(self.table.column_names())) def testProjection(self): s = AttributeImplicitSieve(self.table, []) self.assertEqual(s.projection , {}) s.index = ['Information', 'State'] self.assertEqual(s.projection , {u'Information': True, u'State': True})