Blame view
tools/sctk-2.4.10/src/asclite/test/test_stm_inputparser.cpp
3.63 KB
8dcb6dfcb first commit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
/* * ASCLITE * Author: Jerome Ajot, Jon Fiscus, Nicolas Radde, Chris Laprun * * This software was developed at the National Institute of Standards and Technology by * employees of the Federal Government in the course of their official duties. Pursuant * to title 17 Section 105 of the United States Code this software is not subject to * copyright protection and is in the public domain. ASCLITE is an experimental system. * NIST assumes no responsibility whatsoever for its use by other parties, and makes no * guarantees, expressed or implied, about its quality, reliability, or any other * characteristic. We would appreciate acknowledgement if the software is used. * * THIS SOFTWARE IS PROVIDED "AS IS." With regard to this software, NIST MAKES NO EXPRESS * OR IMPLIED WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING MERCHANTABILITY, * OR FITNESS FOR A PARTICULAR PURPOSE. */ #include "test_stm_inputparser.h" // class's header file // class constructor STMInputParserTest::STMInputParserTest() { // insert your code here } // class destructor STMInputParserTest::~STMInputParserTest() { // insert your code here } /* * Launch all the test of STM input parser */ void STMInputParserTest::testAll() { cout << "- test BasicImport" << endl; testBasicImport(); } /* * Test the import of the Basic file */ void STMInputParserTest::testBasicImport() { STMInputParser* parser = new STMInputParser(); Token* tok; SpeechSet* speechs = parser->loadFile(Properties::GetProperty("dataDirectory") + "/basic.stm"); assert(speechs->GetNumberOfSpeech() == 4); //seg1 assert(speechs->GetSpeech(0)->NbOfSegments() == 1); assert(string(speechs->GetSpeech(0)->GetSegment(0)->GetSpeakerId()).compare("CHRIS") == 0); assert(speechs->GetSpeech(0)->GetSegment(0)->GetNumberOfFirstToken() == 1); tok = speechs->GetSpeech(0)->GetSegment(0)->GetFirstToken(0); assert(string(tok->GetText()).compare("JAVA") == 0); //cout << tok->GetNbOfNextTokens() << endl; assert(tok->GetNbOfNextTokens() == 1); tok = tok->GetNextToken(0); //cout << tok->GetText() << endl; assert(string(tok->GetText()).compare("WILL") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("RULES") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("THE") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("WORLD") == 0); //seg2 assert(speechs->GetSpeech(1)->NbOfSegments() == 1); assert(string(speechs->GetSpeech(1)->GetSegment(0)->GetSpeakerId()).compare("JEROME") == 0); assert(speechs->GetSpeech(1)->GetSegment(0)->GetNumberOfFirstToken() == 1); tok = speechs->GetSpeech(1)->GetSegment(0)->GetFirstToken(0); assert(string(tok->GetText()).compare("OR") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("NOT") == 0); //seg3 -- JON is before NICO in alphabetical order (even if NICO's segment is before JON in STM) assert(speechs->GetSpeech(2)->NbOfSegments() == 1); assert(string(speechs->GetSpeech(2)->GetSegment(0)->GetSpeakerId()).compare("JON") == 0); assert(speechs->GetSpeech(2)->GetSegment(0)->isEmpty()); assert(speechs->GetSpeech(2)->GetSegment(0)->GetNumberOfFirstToken() == 0); //seg4 assert(speechs->GetSpeech(3)->NbOfSegments() == 1); assert(string(speechs->GetSpeech(3)->GetSegment(0)->GetSpeakerId()).compare("NICO") == 0); assert(speechs->GetSpeech(3)->GetSegment(0)->GetNumberOfFirstToken() == 1); tok = speechs->GetSpeech(3)->GetSegment(0)->GetFirstToken(0); assert(string(tok->GetText()).compare("NICO") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("IS") == 0); tok = tok->GetNextToken(0); assert(string(tok->GetText()).compare("HERE") == 0); } |