package com.googlecode.gwt.test.jso; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.JsArrayInteger; import com.googlecode.gwt.test.GwtTestTest; import org.junit.Before; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class JsArrayIntegerTest extends GwtTestTest { private JsArrayInteger jsArrayInteger; @Before public void beforeJsArrayIntegerTest() { // Given jsArrayInteger = JavaScriptObject.createArray().cast(); assertThat(jsArrayInteger.length()).isEqualTo(0); // When jsArrayInteger.set(4, 23); // Then assertThat(jsArrayInteger.length()).isEqualTo(5); assertThat(jsArrayInteger.get(3)).isEqualTo(0); } @Test public void join() { // When String join = jsArrayInteger.join(); // Then assertThat(join).isEqualTo(",,,,23"); } @Test public void join_AfterResize() { // Given jsArrayInteger.setLength(3); // When String join = jsArrayInteger.join(); // Then assertThat(jsArrayInteger.length()).isEqualTo(3); assertThat(join).isEqualTo(",,"); } @Test public void push() { // When jsArrayInteger.push(42); // Then assertThat(jsArrayInteger.length()).isEqualTo(6); assertThat(jsArrayInteger.join()).isEqualTo(",,,,23,42"); assertThat(jsArrayInteger.get(jsArrayInteger.length() - 1)).isEqualTo(42); } @Test public void shift() { // Given jsArrayInteger.set(0, 2); // When double shift = jsArrayInteger.shift(); // Then assertThat(shift).isEqualTo(2d); assertThat(jsArrayInteger.length()).isEqualTo(4); assertThat(jsArrayInteger.join()).isEqualTo(",,,23"); } @Test public void unboundedGet_Returns0() { // When double unbounded = jsArrayInteger.get(100); // Then assertThat(unbounded).isEqualTo(0); } @Test public void unshift() { // When jsArrayInteger.unshift(8); // Then assertThat(jsArrayInteger.length()).isEqualTo(6); assertThat(jsArrayInteger.join()).isEqualTo("8,,,,,23"); } }