package com.intellij.flex.uiDesigner.io; import org.hamcrest.collection.IsArray; import org.junit.Test; import static com.intellij.flex.uiDesigner.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; public class StringRegistryTest { @SuppressWarnings({"unchecked"}) @Test public void rollback() { StringRegistry stringRegistry = new StringRegistry(); StringRegistry.StringWriter stringWriter = new StringRegistry.StringWriter(stringRegistry); stringWriter.startChange(); stringWriter.getReference("test"); stringWriter.getReference("test2"); stringWriter.getReference("test3"); stringWriter.commit(); final IsArray<String> array = array(equalTo("test"), equalTo("test2"), equalTo("test3")); assertThat(stringRegistry.toArray(), array); assertThat(stringWriter.size(), equalTo(1)); stringWriter.startChange(); stringWriter.getReference("newTest"); stringWriter.getReference("test2"); stringWriter.getReference("newTest2"); stringWriter.rollback(); assertThat(stringRegistry.toArray(), array); assertThat(stringWriter.size(), equalTo(1)); } @Test public void rollback2() { StringRegistry stringRegistry = new StringRegistry(); StringRegistry.StringWriter stringWriter = new StringRegistry.StringWriter(stringRegistry); stringWriter.startChange(); stringWriter.getReference("test"); stringWriter.getReference("test2"); stringWriter.getReference("test3"); stringWriter.rollback(); assertThat(stringRegistry.toArray(), emptyArray()); assertThat(stringWriter.size(), equalTo(1)); } }