@Test
public void lower_level() {

	// given
	String levelName = "animal.domestic";
	// when
	Level level = transform(codemap, levelName);
	log.info("produced level '{}':\n{}", levelName, level.formatted());
	// then
	Component cat = new Component("cat");
	Component dog = new Component("dog");
	Component fish = new Component("fish");
	assertThat(level.name).isEqualTo(levelName);
	assertThat(level.components).containsExactly(cat, dog, fish);
	assertThat(level.dependencies).containsExactly(
			new ComponentDep(cat, fish),
			new ComponentDep(dog, cat)
	);
	assertThat(level.dependency(cat, fish).strength).isEqualTo(1);
	assertThat(level.dependency(dog, cat).strength).isEqualTo(2);
	assertThat(level.component("cat").size).isGreaterThan(level.component("dog").size);
	assertThat(level.component("dog").size).isEqualTo(level.component("fish").size);
}