test_class.declarator: message1 = MessageFormatterFactory.createConsoleFormatter()
test_class.original_string: MessageFormatter message1 = MessageFormatterFactory.createConsoleFormatter();
test_class.type: MessageFormatter
test_class.var_name: message1
test_class.declarator: message2 = MessageFormatterFactory.createConsoleFormatter()
test_class.original_string: MessageFormatter message2 = MessageFormatterFactory.createConsoleFormatter();
test_class.type: MessageFormatter
test_class.var_name: message2
test_class.declarator: message3 = MessageFormatterFactory.createHtmlFormatter()
test_class.original_string: MessageFormatter message3 = MessageFormatterFactory.createHtmlFormatter();
test_class.type: MessageFormatter
test_class.var_name: message3
test_class.declarator: message4 = MessageFormatterFactory.createHtmlFormatter()
test_class.original_string: MessageFormatter message4 = MessageFormatterFactory.createHtmlFormatter();
test_class.type: MessageFormatter
test_class.var_name: message4
test_class.file: Week4/Day2/src/test/java/FactoryMethodsExercise/MessageFormatterFactoryTest.java
test_class.identifier: MessageFormatterFactoryTest
test_case.body: @Test
  	public void createConsoleFormatterTest() {
  		assertSame(message1, message2); // objeto message1 es el mismo que message2
  		String str1 = message1.format("Hola");
  		String str2 = message2.format("Hola");
  		assertSame(str1, str2);
  	}
test_case.class_method_signature: MessageFormatterFactoryTest.createConsoleFormatterTest()
test_case.full_signature: @Test public void createConsoleFormatterTest()
test_case.identifier: createConsoleFormatterTest
test_case.invocations: assertSame format format assertSame
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createConsoleFormatterTest()
focal_class.declarator: SINGLETON_CONSOLEMESSAGE = new ConsoleMessageFormatter()
focal_class.modifier: private static final
focal_class.original_string: private static final MessageFormatter SINGLETON_CONSOLEMESSAGE = new ConsoleMessageFormatter();
focal_class.type: MessageFormatter
focal_class.var_name: SINGLETON_CONSOLEMESSAGE
focal_class.declarator: SINGLETON_HTMLMESSAGE = new HtmlMessageFormatter()
focal_class.modifier: private static final
focal_class.original_string: private static final MessageFormatter SINGLETON_HTMLMESSAGE = new HtmlMessageFormatter();
focal_class.type: MessageFormatter
focal_class.var_name: SINGLETON_HTMLMESSAGE
focal_class.declarator: SINGLETON_DEFAULTMESSAGE = new DefaultMessageFormatter()
focal_class.modifier: private static final
focal_class.original_string: private static final MessageFormatter SINGLETON_DEFAULTMESSAGE = new DefaultMessageFormatter();
focal_class.type: MessageFormatter
focal_class.var_name: SINGLETON_DEFAULTMESSAGE
focal_class.file: Week4/Day2/src/main/java/FactoryMethodsExercise/MessageFormatterFactory.java
focal_class.identifier: MessageFormatterFactory
focal_class.class_method_signature: MessageFormatterFactory.createConsoleFormatter()
focal_class.full_signature: public static MessageFormatter createConsoleFormatter()
focal_class.identifier: createConsoleFormatter
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: MessageFormatter
focal_class.signature: MessageFormatter createConsoleFormatter()
focal_class.class_method_signature: MessageFormatterFactory.createHtmlFormatter()
focal_class.full_signature: public static MessageFormatter createHtmlFormatter()
focal_class.identifier: createHtmlFormatter
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: MessageFormatter
focal_class.signature: MessageFormatter createHtmlFormatter()
focal_class.class_method_signature: MessageFormatterFactory.createDefaultFormatter()
focal_class.full_signature: public static MessageFormatter createDefaultFormatter()
focal_class.identifier: createDefaultFormatter
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: MessageFormatter
focal_class.signature: MessageFormatter createDefaultFormatter()
focal_method.body: public static MessageFormatter createConsoleFormatter() {
  		// returns always a new instance
  		// return new ConsoleMessageFormatter();
  		// return only ONE and always the SAME instance
  		 return SINGLETON_CONSOLEMESSAGE;
  	}
focal_method.class_method_signature: MessageFormatterFactory.createConsoleFormatter()
focal_method.full_signature: public static MessageFormatter createConsoleFormatter()
focal_method.identifier: createConsoleFormatter
focal_method.modifiers: public static
focal_method.parameters: ()
focal_method.return: MessageFormatter
focal_method.signature: MessageFormatter createConsoleFormatter()