def test_full_assemble(self):
     column_readers = dict([(id,ListReader(id,vl)) for id,vl in field_values.items()])
     p = SchemaParser()
     s = p.parse(schema_text)
     ra = RecordAssembler(s, column_readers)
     fsm = ra.select_fields()
     ra.assemble()
     ra.assemble()
     print "test_full_assemble done"
    def test_partial_assemble(self):
        column_readers = dict([(id,ListReader(id,vl)) for id,vl in field_values.items()])

        p = SchemaParser()
        s = p.parse(schema_text)
        ra = RecordAssembler(s, column_readers)
        fsm = ra.select_fields(('DocId', 'Name.Language.Country'))
        ra.assemble()
        ra.assemble()
        print "test_partial_assemble done"
    def test_full_fsm(self):
        p = SchemaParser()
        s = p.parse(schema_text)
        ra = RecordAssembler(s, {})
        fsm = ra.select_fields()
        count = 0
        for s,n in fsm.items():
        	if s != SchemaHelper.ROOT_NODE:
	        	count += len(n.keys())
        self.assertTrue( count == 13)
        print "test_full_fsm done"
    def test_partials_fsm(self):
        p = SchemaParser()
        s = p.parse(schema_text)
        ra = RecordAssembler(s, {})
        fsm = ra.select_fields(('DocId', 'Name.Language.Country'))
        count = 0
        for s,n in fsm.items():
        	if s != SchemaHelper.ROOT_NODE:
	        	count += len(n.keys())
        self.assertTrue( count == 4);
        print "test_partial_fsm done"