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