Blame view
tools/sctk-2.4.10/src/asclite/test/test_speech.cpp
3.5 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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
/* * 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_speech.h" // class's header file // class constructor TestSpeech::TestSpeech() { // insert your code here } // class destructor TestSpeech::~TestSpeech() { // insert your code here } /* * Divers accessors test for the segments. */ void TestSpeech::testSegmentAccessor() { SpeechSet* set = new SpeechSet(); Speech* speech = new Speech(set); Segment* seg1 = Segment::CreateWithEndTime(0, 1000, speech); Segment* seg2 = Segment::CreateWithEndTime(1000, 2000, speech); speech->AddSegment(seg1); speech->AddSegment(seg2); //testing assert(2 == speech->NbOfSegments()); assert(seg1 == speech->GetSegment(0)); assert(seg2 == speech->GetSegment(1)); delete set; } /** * Test the NextSegment function */ void TestSpeech::testNextSegment() { SpeechSet* set = new SpeechSet(); Speech* speech = new Speech(set); Segment* seg1 = Segment::CreateWithEndTime(0, 1000, speech); Segment* seg2 = Segment::CreateWithEndTime(2000, 3000, speech); seg1->SetSource("test"); seg2->SetSource("test"); seg1->SetChannel("1"); seg2->SetChannel("1"); speech->AddSegment(seg1); speech->AddSegment(seg2); //testing assert(speech->NextSegment(500, "test", "1") == seg1); assert(speech->NextSegment(1000, "test", "1") == seg2); assert(speech->NextSegment(1500, "test", "1") == seg2); assert(!speech->NextSegment(3000, "test", "1")); } /** * Test the GetSegmentsByTime function. */ void TestSpeech::testGetSegmentByTime() { SpeechSet* set = new SpeechSet(); Speech* speech = new Speech(set); Segment* seg1 = Segment::CreateWithEndTime(0, 1000, speech); Segment* seg2 = Segment::CreateWithEndTime(2000, 3000, speech); Segment* seg3 = Segment::CreateWithEndTime(5000, 6000, speech); seg1->SetSource("test"); seg2->SetSource("test"); seg3->SetSource("test"); seg1->SetChannel("1"); seg2->SetChannel("1"); seg3->SetChannel("1"); speech->AddSegment(seg1); speech->AddSegment(seg2); //testing //overall case vector<Segment*> segs = speech->GetSegmentsByTime(0, 3000, "test", "1"); assert(segs.size() == 2); assert(segs[0] == seg1); assert(segs[1] == seg2); //limit case vector<Segment*> segs2 = speech->GetSegmentsByTime(1000, 5000, "test", "1"); assert(segs2.size() == 1); assert(segs2[0] == seg2); //middle case vector<Segment*> segs3 = speech->GetSegmentsByTime(500, 2500, "test", "1"); assert(segs3.size() == 1); assert(segs3[0] == seg1); } /* * Launch all the test of the class. */ void TestSpeech::testAll() { cout << "- test SegmentAccessor" << endl; testSegmentAccessor(); cout << "- test NextSegment" << endl; testNextSegment(); cout << "- test GetSegmentByTime" << endl; testGetSegmentByTime(); } |