package com.constellio.model.entities.structures; import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; import org.junit.Before; import org.junit.Test; import com.constellio.sdk.tests.ConstellioTest; public class MapStringListStringStructureFactoryTest extends ConstellioTest { MapStringListStringStructureFactory factory; @Before public void setUp() throws Exception { factory = new MapStringListStringStructureFactory(); } @Test public void whenSetAttributeValueThenBecomeDirty() { MapStringListStringStructure mapStringListStringStructure = new MapStringListStringStructure(); assertThat(mapStringListStringStructure.isDirty()).isFalse(); mapStringListStringStructure = new MapStringListStringStructure(); mapStringListStringStructure.put("key1", Arrays.asList("value1", "value2")); assertThat(mapStringListStringStructure.isDirty()).isTrue(); } @Test public void whenConvertingStructureWithAllValuesThenRemainsEqual() throws Exception { MapStringListStringStructure mapStringListStringStructure = new MapStringListStringStructure(); mapStringListStringStructure.put("key1", Arrays.asList("value1", "value2")); mapStringListStringStructure.put("key2", Arrays.asList("value3", "value4")); mapStringListStringStructure.put("key3", Arrays.asList("value5", "value6")); mapStringListStringStructure.put("key3", Arrays.asList("value7", "value8")); String stringValue = factory.toString(mapStringListStringStructure); MapStringListStringStructure builtMapStringListStringStructure = (MapStringListStringStructure) factory.build(stringValue); String stringValue2 = factory.toString(builtMapStringListStringStructure); assertThat(builtMapStringListStringStructure).isEqualTo(mapStringListStringStructure); assertThat(stringValue2).isEqualTo(stringValue); assertThat(builtMapStringListStringStructure.isDirty()).isFalse(); assertThat(builtMapStringListStringStructure).hasSize(3); assertThat(builtMapStringListStringStructure.get("key1")).isEqualTo(Arrays.asList("value1", "value2")); assertThat(builtMapStringListStringStructure.get("key2")).isEqualTo(Arrays.asList("value3", "value4")); assertThat(builtMapStringListStringStructure.get("key3")).isEqualTo(Arrays.asList("value7", "value8")); } @Test public void whenConvertingStructureWithoutSetValuesThenRemainsEqual() throws Exception { MapStringListStringStructure mapStringListStringStructure = new MapStringListStringStructure(); String stringValue = factory.toString(mapStringListStringStructure); MapStringListStringStructure builtMapStringListStringStructure = (MapStringListStringStructure) factory.build(stringValue); String stringValue2 = factory.toString(builtMapStringListStringStructure); assertThat(builtMapStringListStringStructure).isEqualTo(mapStringListStringStructure); assertThat(stringValue2).isEqualTo(stringValue); assertThat(builtMapStringListStringStructure.isDirty()).isFalse(); assertThat(builtMapStringListStringStructure).isEmpty(); } }