test_class.file: dialog/src/test/java/roboy/talk/VerbalizerTest.java
test_class.identifier: VerbalizerTest
test_class.superclass: extends TestCase
test_case.body: @Test
  	public void testDates() {
  		Verbalizer verbalizer = new Verbalizer();
  		SpeechAction action = (SpeechAction) verbalizer.verbalize(new Interpretation("0666-01-01"));
  		assertEquals("January first six hundred sixty six",action.getText());
  		action = (SpeechAction) verbalizer.verbalize(new Interpretation("2010-12-31"));
  		assertEquals("December thirty first two thousand ten",action.getText());
  		action = (SpeechAction) verbalizer.verbalize(new Interpretation("1040-09-13"));
  		assertEquals("September thirteenth one thousand forty",action.getText());
  		action = (SpeechAction) verbalizer.verbalize(new Interpretation("2300-07-28")); 
  		assertEquals("July twenty eighth two thousand three hundred",action.getText());
  		action = (SpeechAction) verbalizer.verbalize(new Interpretation("1604-04-04"));
  		assertEquals("April fourth sixteen hundred four",action.getText());
  	}
test_case.class_method_signature: VerbalizerTest.testDates()
test_case.full_signature: @Test public void testDates()
test_case.identifier: testDates
test_case.invocations: verbalize assertEquals getText verbalize assertEquals getText verbalize assertEquals getText verbalize assertEquals getText verbalize assertEquals getText
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDates()
focal_class.declarator: roboyNames =
  			new RandomList<>("roboi", "robot", "boy", "roboboy", "robot", "roboy")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> roboyNames =
  			new RandomList<>("roboi", "robot", "boy", "roboboy", "robot", "roboy");
focal_class.type: RandomList<String>
focal_class.var_name: roboyNames
focal_class.declarator: consent =
              new RandomList<>("yes", "I do", "sure", "of course", " go ahead")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> consent =
              new RandomList<>("yes", "I do", "sure", "of course", " go ahead");
focal_class.type: RandomList<String>
focal_class.var_name: consent
focal_class.declarator: denial =
              new RandomList<>("no", "nope", "later", "other time", "not")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> denial =
              new RandomList<>("no", "nope", "later", "other time", "not");
focal_class.type: RandomList<String>
focal_class.var_name: denial
focal_class.declarator: triggers =
              new RandomList<>("talk", "fun", "conversation", "new", "chat")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> triggers =
              new RandomList<>("talk", "fun", "conversation", "new", "chat");
focal_class.type: RandomList<String>
focal_class.var_name: triggers
focal_class.declarator: greetings =
  			new RandomList<>("hello","hi","greetings",
                      // "good morning", // not for the final demo ;)
                      "howdy",
                      // "good day", // not for the final demo ;)
                      "hey", "good evening",
  					"what's up", "greeting to everyone here","hi there people",
  					"hello world","gruse gott","wazup wazup wazup","howdy humans",
                      // "good day ladies and gentlemen",  // not for the final demo ;)
                      "good evening ladies and gentlemen",
                      "hey hey hey you there")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> greetings =
  			new RandomList<>("hello","hi","greetings",
                      // "good morning", // not for the final demo ;)
                      "howdy",
                      // "good day", // not for the final demo ;)
                      "hey", "good evening",
  					"what's up", "greeting to everyone here","hi there people",
  					"hello world","gruse gott","wazup wazup wazup","howdy humans",
                      // "good day ladies and gentlemen",  // not for the final demo ;)
                      "good evening ladies and gentlemen",
                      "hey hey hey you there");
focal_class.type: RandomList<String>
focal_class.var_name: greetings
focal_class.declarator: farewells = new RandomList<>(
  			"ciao", "goodbye", "cheerio", "bye",
              "see you", "farewell", "bye-bye", "What a nice conversation! I have to think about everything we" +
  			" were talking about. Let's talk again next time.",
  			"I feel tired now, maybe my battery is low? Let's talk again later.",
  			"Don't you think that the dialog team is amazing? They are happy to " +
  					"tell you more about my system. Just ask one of them!")
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> farewells = new RandomList<>(
  			"ciao", "goodbye", "cheerio", "bye",
              "see you", "farewell", "bye-bye", "What a nice conversation! I have to think about everything we" +
  			" were talking about. Let's talk again next time.",
  			"I feel tired now, maybe my battery is low? Let's talk again later.",
  			"Don't you think that the dialog team is amazing? They are happy to " +
  					"tell you more about my system. Just ask one of them!");
focal_class.type: RandomList<String>
focal_class.var_name: farewells
focal_class.declarator: segues =
              new RandomList<>("talking about ","since you mentioned ","on the topic of ")
focal_class.modifier: private static final
focal_class.original_string: private static final RandomList<String> segues =
              new RandomList<>("talking about ","since you mentioned ","on the topic of ");
focal_class.type: RandomList<String>
focal_class.var_name: segues
focal_class.declarator: preAnecdotes =
              new RandomList<>("here is an interesting bit of trivia. ", "how about this? ")
focal_class.modifier: private static final
focal_class.original_string: private static final RandomList<String> preAnecdotes =
              new RandomList<>("here is an interesting bit of trivia. ", "how about this? ");
focal_class.type: RandomList<String>
focal_class.var_name: preAnecdotes
focal_class.declarator: anecdotes =
              new RandomList<>("did you know ","did you know that ","i read that ",
  					"i heard that ", "have you heard this: ")
focal_class.modifier: private static final
focal_class.original_string: private static final RandomList<String> anecdotes =
              new RandomList<>("did you know ","did you know that ","i read that ",
  					"i heard that ", "have you heard this: ");
focal_class.type: RandomList<String>
focal_class.var_name: anecdotes
focal_class.declarator: startSomething =
  			new RandomList<>("Let's go. ", "Can't wait to start. ", "Nice, let's start. ", "Yeah, let's go. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> startSomething =
  			new RandomList<>("Let's go. ", "Can't wait to start. ", "Nice, let's start. ", "Yeah, let's go. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: startSomething
focal_class.declarator: userIsSure =
  			new RandomList<>("You seem to be pretty sure about that. ", "You said yes. ", "I heard a yes from you. ", "A clear yes. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> userIsSure =
  			new RandomList<>("You seem to be pretty sure about that. ", "You said yes. ", "I heard a yes from you. ", "A clear yes. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: userIsSure
focal_class.declarator: userProbablyYes =
  			new RandomList<>("The chance is quite high. ", "Might be true. ", "You're not sure but probably yes. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> userProbablyYes =
  			new RandomList<>("The chance is quite high. ", "Might be true. ", "You're not sure but probably yes. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: userProbablyYes
focal_class.declarator: userIsUncertain =
  			new RandomList<>("Maybe you have never thought of that before. ", "Maybe, maybe not. ", "You don't know, no problem. ", "I don't know either. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> userIsUncertain =
  			new RandomList<>("Maybe you have never thought of that before. ", "Maybe, maybe not. ", "You don't know, no problem. ", "I don't know either. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: userIsUncertain
focal_class.declarator: userProbablyNo =
  			new RandomList<>("The chance is quite low. ", "Might be false. ", "You're not sure but probably no. ", "Probably not. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> userProbablyNo =
  			new RandomList<>("The chance is quite low. ", "Might be false. ", "You're not sure but probably no. ", "Probably not. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: userProbablyNo
focal_class.declarator: userSaysNo =
  			new RandomList<>("Not at all. ", "A clear no. ", "That was clear. No. ", "A no from you. ", "Nope. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> userSaysNo =
  			new RandomList<>("Not at all. ", "A clear no. ", "That was clear. No. ", "A no from you. ", "Nope. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: userSaysNo
focal_class.declarator: roboyNotUnderstand =
  			new RandomList<>("Oh no, I didn't get what you said. ", "I didn't understand you correctly. ", "Sorry? What did you say? "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> roboyNotUnderstand =
  			new RandomList<>("Oh no, I didn't get what you said. ", "I didn't understand you correctly. ", "Sorry? What did you say? "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: roboyNotUnderstand
focal_class.declarator: rosDisconnect =
  			new RandomList<>("Oh no, where is my ROS connection? I need it. ", "I was looking for my ROS master everywhere but I can find it. ", "I think I have no ROS connection. ", "Hello? Hello? Any ROS master out there? Hmm, I can't hear anybody. "
  			)
focal_class.modifier: public static final
focal_class.original_string: public static final RandomList<String> rosDisconnect =
  			new RandomList<>("Oh no, where is my ROS connection? I need it. ", "I was looking for my ROS master everywhere but I can find it. ", "I think I have no ROS connection. ", "Hello? Hello? Any ROS master out there? Hmm, I can't hear anybody. "
  			);
focal_class.type: RandomList<String>
focal_class.var_name: rosDisconnect
focal_class.declarator: dayNumberMap = Maps.stringMap(
  			"01","first",
  			"02","second",
  			"03","third",
  			"04","fourth",
  			"05","fifth",
  			"06","sixth",
  			"07","seventh",
  			"08","eighth",
  			"09","ninth",
  			"10","tenth",
  			"11","eleventh",
  			"12","twelfth",
  			"13","thirteenth",
  			"14","fourteenth",
  			"16","sixteenth",
  			"17","seventeenth",
  			"18","eighteenth",
  			"19","nineteenth",
  			"20","twentieth",
  			"21","twenty first",
  			"22","twenty second",
  			"23","twenty third",
  			"24","twenty fourth",
  			"25","twenty fifth",
  			"26","twenty sixth",
  			"27","twenty seventh",
  			"28","twenty eighth",
  			"29","twenty ninth",
  			"30","thirtieth",
  			"31","thirty first"
  			)
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String,String> dayNumberMap = Maps.stringMap(
  			"01","first",
  			"02","second",
  			"03","third",
  			"04","fourth",
  			"05","fifth",
  			"06","sixth",
  			"07","seventh",
  			"08","eighth",
  			"09","ninth",
  			"10","tenth",
  			"11","eleventh",
  			"12","twelfth",
  			"13","thirteenth",
  			"14","fourteenth",
  			"16","sixteenth",
  			"17","seventeenth",
  			"18","eighteenth",
  			"19","nineteenth",
  			"20","twentieth",
  			"21","twenty first",
  			"22","twenty second",
  			"23","twenty third",
  			"24","twenty fourth",
  			"25","twenty fifth",
  			"26","twenty sixth",
  			"27","twenty seventh",
  			"28","twenty eighth",
  			"29","twenty ninth",
  			"30","thirtieth",
  			"31","thirty first"
  			);
focal_class.type: Map<String,String>
focal_class.var_name: dayNumberMap
focal_class.declarator: lowNumberMap = Maps.intStringMap(
  			1,"one",
  			2,"two",
  			3,"three",
  			4,"four",
  			5,"five",
  			6,"six",
  			7,"seven",
  			8,"eight",
  			9,"nine",
  			10,"ten",
  			11,"eleven",
  			12,"twelve",
  			13,"thirteen",
  			14,"fourteen",
  			15,"fifteen",
  			16,"sixteen",
  			17,"seventeen",
  			18,"eighteen",
  			19,"nineteen"
  			)
focal_class.modifier: private static final
focal_class.original_string: private static final Map<Integer,String> lowNumberMap = Maps.intStringMap(
  			1,"one",
  			2,"two",
  			3,"three",
  			4,"four",
  			5,"five",
  			6,"six",
  			7,"seven",
  			8,"eight",
  			9,"nine",
  			10,"ten",
  			11,"eleven",
  			12,"twelve",
  			13,"thirteen",
  			14,"fourteen",
  			15,"fifteen",
  			16,"sixteen",
  			17,"seventeen",
  			18,"eighteen",
  			19,"nineteen"
  			);
focal_class.type: Map<Integer,String>
focal_class.var_name: lowNumberMap
focal_class.declarator: monthNumberMap = Maps.stringMap(
  			"1","January",
  			"2","February",
  			"3","March",
  			"4","April",
  			"5","May",
  			"6","June",
  			"7","July",
  			"8","August",
  			"9","September",
  			"01","January",
  			"02","February",
  			"03","March",
  			"04","April",
  			"05","May",
  			"06","June",
  			"07","July",
  			"08","August",
  			"09","September",
  			"10","October",
  			"11","November",
  			"12","December"
  			)
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String,String> monthNumberMap = Maps.stringMap(
  			"1","January",
  			"2","February",
  			"3","March",
  			"4","April",
  			"5","May",
  			"6","June",
  			"7","July",
  			"8","August",
  			"9","September",
  			"01","January",
  			"02","February",
  			"03","March",
  			"04","April",
  			"05","May",
  			"06","June",
  			"07","July",
  			"08","August",
  			"09","September",
  			"10","October",
  			"11","November",
  			"12","December"
  			);
focal_class.type: Map<String,String>
focal_class.var_name: monthNumberMap
focal_class.declarator: tenthNumberMap = Maps.intStringMap(
  			1,"ten",
  			2,"twenty",
  			3,"thirty",
  			4,"forty",
  			5,"fifty",
  			6,"sixty",
  			7,"seventy",
  			8,"eighty",
  			9,"ninety"
  			)
focal_class.modifier: private static final
focal_class.original_string: private static final Map<Integer,String> tenthNumberMap = Maps.intStringMap(
  			1,"ten",
  			2,"twenty",
  			3,"thirty",
  			4,"forty",
  			5,"fifty",
  			6,"sixty",
  			7,"seventy",
  			8,"eighty",
  			9,"ninety"
  			);
focal_class.type: Map<Integer,String>
focal_class.var_name: tenthNumberMap
focal_class.file: dialog/src/main/java/roboy/talk/Verbalizer.java
focal_class.identifier: Verbalizer
focal_class.class_method_signature: Verbalizer.verbalize(Interpretation interpretation)
focal_class.full_signature: public Action verbalize(Interpretation interpretation)
focal_class.identifier: verbalize
focal_class.modifiers: public
focal_class.parameters: (Interpretation interpretation)
focal_class.return: Action
focal_class.signature: Action verbalize(Interpretation interpretation)
focal_class.class_method_signature: Verbalizer.greet(Interpretation interpretation)
focal_class.full_signature: private SpeechAction greet(Interpretation interpretation)
focal_class.identifier: greet
focal_class.modifiers: private
focal_class.parameters: (Interpretation interpretation)
focal_class.return: SpeechAction
focal_class.signature: SpeechAction greet(Interpretation interpretation)
focal_class.class_method_signature: Verbalizer.segue(Interpretation interpretation)
focal_class.full_signature: private SpeechAction segue(Interpretation interpretation)
focal_class.identifier: segue
focal_class.modifiers: private
focal_class.parameters: (Interpretation interpretation)
focal_class.return: SpeechAction
focal_class.signature: SpeechAction segue(Interpretation interpretation)
focal_class.class_method_signature: Verbalizer.anecdote(Interpretation interpretation)
focal_class.full_signature: private SpeechAction anecdote(Interpretation interpretation)
focal_class.identifier: anecdote
focal_class.modifiers: private
focal_class.parameters: (Interpretation interpretation)
focal_class.return: SpeechAction
focal_class.signature: SpeechAction anecdote(Interpretation interpretation)
focal_class.class_method_signature: Verbalizer.verbalizeDates(Interpretation interpretation)
focal_class.full_signature: private Interpretation verbalizeDates(Interpretation interpretation)
focal_class.identifier: verbalizeDates
focal_class.modifiers: private
focal_class.parameters: (Interpretation interpretation)
focal_class.return: Interpretation
focal_class.signature: Interpretation verbalizeDates(Interpretation interpretation)
focal_class.class_method_signature: Verbalizer.dateToText(String date)
focal_class.full_signature: private String dateToText(String date)
focal_class.identifier: dateToText
focal_class.modifiers: private
focal_class.parameters: (String date)
focal_class.return: String
focal_class.signature: String dateToText(String date)
focal_class.class_method_signature: Verbalizer.literalSentence(Interpretation interpretation)
focal_class.full_signature: private SpeechAction literalSentence(Interpretation interpretation)
focal_class.identifier: literalSentence
focal_class.modifiers: private
focal_class.parameters: (Interpretation interpretation)
focal_class.return: SpeechAction
focal_class.signature: SpeechAction literalSentence(Interpretation interpretation)
focal_method.body: public Action verbalize(Interpretation interpretation){
  		interpretation = verbalizeDates(interpretation);
  		switch(interpretation.getSentenceType()){
  		case GREETING: return greet(interpretation);
  		case SEGUE:    return segue(interpretation);
  		case ANECDOTE: return anecdote(interpretation);
  		default:       return literalSentence(interpretation);
  		}
  	}
focal_method.class_method_signature: Verbalizer.verbalize(Interpretation interpretation)
focal_method.full_signature: public Action verbalize(Interpretation interpretation)
focal_method.identifier: verbalize
focal_method.invocations: verbalizeDates getSentenceType greet segue anecdote literalSentence
focal_method.modifiers: public
focal_method.parameters: (Interpretation interpretation)
focal_method.return: Action
focal_method.signature: Action verbalize(Interpretation interpretation)