Home / Class/ OriginTrackedValueTests Class — spring-boot Architecture

OriginTrackedValueTests Class — spring-boot Architecture

Architecture documentation for the OriginTrackedValueTests class in OriginTrackedValueTests.java from the spring-boot codebase.

Entity Profile

Source Code

core/spring-boot/src/test/java/org/springframework/boot/origin/OriginTrackedValueTests.java lines 29–77

class OriginTrackedValueTests {

	@Test
	void getValueShouldReturnValue() {
		Object value = new Object();
		assertThat(OriginTrackedValue.of(value).getValue()).isEqualTo(value);
	}

	@Test
	void getOriginShouldReturnOrigin() {
		Object value = new Object();
		Origin origin = mock(Origin.class);
		assertThat(OriginTrackedValue.of(value, origin).getOrigin()).isEqualTo(origin);
	}

	@Test
	void toStringShouldReturnValueToString() {
		Object value = new Object();
		assertThat(OriginTrackedValue.of(value)).hasToString(value.toString());
	}

	@Test
	void hashCodeAndEqualsShouldIgnoreOrigin() {
		Object value1 = new Object();
		OriginTrackedValue tracked1 = OriginTrackedValue.of(value1);
		OriginTrackedValue tracked2 = OriginTrackedValue.of(value1, mock(Origin.class));
		OriginTrackedValue tracked3 = OriginTrackedValue.of(new Object());
		assertThat(tracked1).hasSameHashCodeAs(tracked2);
		assertThat(tracked1).isEqualTo(tracked1).isEqualTo(tracked2).isNotEqualTo(tracked3);
	}

	@Test
	void ofWhenValueIsNullShouldReturnNull() {
		assertThat(OriginTrackedValue.of(null)).isNull();
		assertThat(OriginTrackedValue.of(null, mock(Origin.class))).isNull();
	}

	@Test
	void ofWhenValueIsCharSequenceShouldReturnCharSequence() {
		String value = "foo";
		OriginTrackedValue tracked = OriginTrackedValue.of(value);
		assertThat(tracked).isInstanceOf(CharSequence.class);
		CharSequence charSequence = (CharSequence) tracked;
		assertThat(charSequence).hasSameSizeAs(value);
		assertThat(charSequence.charAt(0)).isEqualTo(value.charAt(0));
		assertThat(charSequence.subSequence(0, 1)).isEqualTo(value.subSequence(0, 1));
	}

}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free