Files
imgui-java/imgui-binding/src/test/java/imgui/ImStringTest.java
T
SpaiR 5c1f8f5c33 Add ImString support for "null" values
Set with "null" as a value will work in the same way String#valueOf does.
2020-06-25 15:26:49 +03:00

60 lines
1.9 KiB
Java

package imgui;
import imgui.type.ImString;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class ImStringTest {
@Test
public void testCreation() {
ImString str = new ImString(10);
assertEquals("", str.get());
assertEquals(0, str.getLength(), "String length should be 0, since no data was provided");
assertEquals(10 + 1, str.getBufferSize(), "Buffer size must be 'length + 1', +1 - size of the ImGui caret");
str = new ImString("test");
assertEquals("test", str.get());
assertEquals(4, str.getLength());
assertEquals(4 + 1, str.getBufferSize());
str = new ImString("test", 10);
assertEquals("test", str.get());
assertEquals(4, str.getLength());
assertEquals(10 + 1, str.getBufferSize());
}
@Test
public void testGet() {
final ImString str = new ImString("test");
assertEquals("test", str.get());
assertEquals(str.get(), str.toString(), "ImString#toString() must return value which should be equal to ImString#get()");
}
@Test
public void testSet() {
final ImString str = new ImString(3);
assertEquals("", str.get());
assertEquals(0, str.getLength());
assertEquals(3 + 1, str.getBufferSize());
str.set("test");
assertEquals("tes", str.get());
assertEquals(3, str.getLength());
assertEquals(3 + 1, str.getBufferSize());
str.set("test", true, 0);
assertEquals("test", str.get());
assertEquals(4, str.getLength());
assertEquals(4 + 1, str.getBufferSize());
str.set("0123456789", true);
assertEquals("0123456789", str.get());
assertEquals(10, str.getLength());
assertEquals(10 + str.inputData.resizeFactor + 1, str.getBufferSize());
str.set(null);
assertEquals("null", str.get());
}
}