Skip to content

org.eclipse.daanse.olap/common/src/main/java/org/eclipse/daanse/olap/util/ArrayStack.java should be replaces with ArrayDeque #98

Description

@dbulahov

Current Behavior

org.eclipse.daanse.olap/common/src/main/java/org/eclipse/daanse/olap/util/ArrayStack.java uses now.

Expected Behavior

org.eclipse.daanse.olap/common/src/main/java/org/eclipse/daanse/olap/util/ArrayStack.java

this can be replaces with ArrayDeque

start with testijng in unit test then replace in

org.eclipse.daanse.olap/common/src/test/java/org/eclipse/daanse/olap/query/component/UtilTestCase.java

``

/**
 * Unit test for {@link mondrian.util.ArrayStack}.
 */
@Test
 void arrayStack() {
    final ArrayStack<String> stack = new ArrayStack<>();
    assertThat(stack.size()).isEqualTo(0);
    stack.add("a");
    assertThat(stack.size()).isEqualTo(1);
    assertThat(stack.peek()).isEqualTo("a");
    stack.push("b");
    assertThat(stack.size()).isEqualTo(2);
    assertThat(stack.peek()).isEqualTo("b");
    assertThat(stack.pop()).isEqualTo("b");
    assertThat(stack.size()).isEqualTo(1);
    stack.add(0, "z");
    assertThat(stack.peek()).isEqualTo("a");
    assertThat(stack.size()).isEqualTo(2);
    stack.push(null);
    assertThat(stack.size()).isEqualTo(3);
    assertThat(stack).isEqualTo(Arrays.asList("z", "a", null));
    String z = "";
    for (String s : stack) {
        z += s;
    }
    assertThat(z).isEqualTo("zanull");
    stack.clear();
    assertThatThrownBy(() -> stack.peek()).isInstanceOf(EmptyStackException.class);
    assertThatThrownBy(() -> stack.pop()).isInstanceOf(EmptyStackException.class);
}

``
then replace in all iml and remove old class and then run legacy
[1:21 AM]with just this chnage

Steps To Reproduce

No response

Version

0.0.1-SNAPSHOT

Are you interested in contributing a solution yourself?

None

Anything else?

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions