Konwencja pisania wartości w asercjach

Konwencja pisania wartości w asercjach
Julian_
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1703
0

Lepiej tak:

Kopiuj
final int DEFAULT_NULL_VALUE = 0;
	@Test
	public void testCalc1() {
		// Given:
		String text = "Wiek: 20 lat.";
		
		// When:
		AgeAlg a = new AgeAlg();
		Optional<Integer> result = a.calc(text).stream().findFirst();
		
		// Then:
		assertTrue(result.isPresent());
		assertEquals(20, result.orElse(DEFAULT_NULL_VALUE).intValue());
	}

czy tak:

Kopiuj
final int DEFAULT_NULL_VALUE = 0;
	@Test
	public void testCalc2() {
		// Given:
		String text = "Wiek: 20 lat.";
		
		// When:
		AgeAlg a = new AgeAlg();
		Optional<Integer> result = a.calc(text).stream().findFirst();
		int resultInt = result.orElse(DEFAULT_NULL_VALUE).intValue();
		boolean isPresent = result.isPresent();
		
		// Then:
		assertTrue(isPresent);
		assertEquals(20, resultInt );
	}
ekhart
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: ekhart.pl
  • Postów: 140
2

Wg mnie pierwsza opcja.
result wykorzystujesz 2 razy. resultInt i resultInt tylko po raz.
Fakt, że nieco czytelniej, ale IMHO nie ma to wartego takiej zmiany impaktu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.