### Question:
OutLogFactory { public static OutLog newInstance(Log.out logOut, Printer printer) { return new OutLog( AnnotationAttribute.LEVEL.extract(logOut), logOut.ifEnabled(), logOut.verbose(), printer ); }  static OutLog newInstance(Log.out logOut, Printer printer);  }### Answer:
@Test public void newInstance() { Log.out logOut = givenLogOut(); Printer printer = givenPrinter(); OutLog outLog = OutLogFactory.newInstance(logOut, printer); assertThat(outLog.getLevel(), is(WARN)); assertThat(outLog.getIfEnabledLevel(), is(WARN)); assertThat(outLog.getVerboseLevel(), is(TRACE)); assertThat(outLog.getPrinter(), is(printer)); }
@Test public void newInstanceByValue() { Log.out logOut = givenLogOutByValue(); Printer printer = givenPrinter(); OutLog outLog = OutLogFactory.newInstance(logOut, printer); assertThat(outLog.getLevel(), is(WARN)); }