Skip to content

Add ArrayDeque and ArrayQueue Implementations with Comprehensive Unit… #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 28, 2024

Conversation

walmir-silva
Copy link
Contributor

… Tests

  • Implemented the ArrayDeque and ArrayQueue classes in the KaririCode\DataStructure\Queue namespace.
  • Added comprehensive unit tests for the ArrayDeque and ArrayQueue classes in the KaririCode\DataStructure\Tests\Queue namespace.

Classes:

  • KaririCode\DataStructure\Queue\ArrayDeque
  • KaririCode\DataStructure\Queue\ArrayQueue

Tests:

  • KaririCode\DataStructure\Tests\Queue\ArrayDequeTest
  • KaririCode\DataStructure\Tests\Queue\ArrayQueueTest

Fully covered features and tests:

ArrayDeque:

  • Enqueue method: testEnqueueAddsElementToEndOfDeque
  • Dequeue method: testDequeueRemovesElementFromFrontOfDeque
  • Dequeue from empty deque: testDequeueFromEmptyDequeReturnsNull
  • Peek method: testPeekReturnsElementFromFrontWithoutRemovingIt
  • Peek from empty deque: testPeekFromEmptyDequeReturnsNull
  • Add first method: testAddFirstAddsElementToFrontOfDeque
  • Remove last method: testRemoveLastRemovesElementFromEndOfDeque
  • Remove last from empty deque: testRemoveLastFromEmptyDequeReturnsNull
  • Peek last method: testPeekLastReturnsElementFromEndWithoutRemovingIt
  • Peek last from empty deque: testPeekLastFromEmptyDequeReturnsNull
  • Is empty method: testIsEmptyReturnsTrueIfDequeIsEmpty
  • Size method: testSizeReturnsNumberOfElementsInDeque
  • Ensure capacity method: testEnsureCapacityDoublesCapacityWhenFull
  • Handling null values: testHandlingNullValuesCorrectly
  • Circular behavior: testCircularBehavior
  • Various data types: testDequeWithVariousDataTypes
  • Mixed operations: testDequeBehaviorAfterMixedOperations

ArrayQueue:

  • Enqueue method: testEnqueueAddsElementToEndOfQueue
  • Dequeue method: testDequeueRemovesElementFromFrontOfQueue
  • Dequeue from empty queue: testDequeueFromEmptyQueueReturnsNull
  • Peek method: testPeekReturnsElementFromFrontWithoutRemovingIt
  • Peek from empty queue: testPeekFromEmptyQueueReturnsNull
  • Is empty method: testIsEmptyReturnsTrueIfQueueIsEmpty
  • Size method: testSizeReturnsNumberOfElementsInQueue
  • Ensure capacity method: testEnsureCapacityDoublesCapacityWhenFull
  • Handling null values: testHandlingNullValuesCorrectly
  • Various data types: testQueueWithVariousDataTypes
  • Mixed operations: testQueueBehaviorAfterMixedOperations

… Tests

- Implemented the ArrayDeque and ArrayQueue classes in the KaririCode\DataStructure\Queue namespace.
- Added comprehensive unit tests for the ArrayDeque and ArrayQueue classes in the KaririCode\DataStructure\Tests\Queue namespace.

Classes:
- KaririCode\DataStructure\Queue\ArrayDeque
- KaririCode\DataStructure\Queue\ArrayQueue

Tests:
- KaririCode\DataStructure\Tests\Queue\ArrayDequeTest
- KaririCode\DataStructure\Tests\Queue\ArrayQueueTest

Fully covered features and tests:

ArrayDeque:
- Enqueue method: testEnqueueAddsElementToEndOfDeque
- Dequeue method: testDequeueRemovesElementFromFrontOfDeque
- Dequeue from empty deque: testDequeueFromEmptyDequeReturnsNull
- Peek method: testPeekReturnsElementFromFrontWithoutRemovingIt
- Peek from empty deque: testPeekFromEmptyDequeReturnsNull
- Add first method: testAddFirstAddsElementToFrontOfDeque
- Remove last method: testRemoveLastRemovesElementFromEndOfDeque
- Remove last from empty deque: testRemoveLastFromEmptyDequeReturnsNull
- Peek last method: testPeekLastReturnsElementFromEndWithoutRemovingIt
- Peek last from empty deque: testPeekLastFromEmptyDequeReturnsNull
- Is empty method: testIsEmptyReturnsTrueIfDequeIsEmpty
- Size method: testSizeReturnsNumberOfElementsInDeque
- Ensure capacity method: testEnsureCapacityDoublesCapacityWhenFull
- Handling null values: testHandlingNullValuesCorrectly
- Circular behavior: testCircularBehavior
- Various data types: testDequeWithVariousDataTypes
- Mixed operations: testDequeBehaviorAfterMixedOperations

ArrayQueue:
- Enqueue method: testEnqueueAddsElementToEndOfQueue
- Dequeue method: testDequeueRemovesElementFromFrontOfQueue
- Dequeue from empty queue: testDequeueFromEmptyQueueReturnsNull
- Peek method: testPeekReturnsElementFromFrontWithoutRemovingIt
- Peek from empty queue: testPeekFromEmptyQueueReturnsNull
- Is empty method: testIsEmptyReturnsTrueIfQueueIsEmpty
- Size method: testSizeReturnsNumberOfElementsInQueue
- Ensure capacity method: testEnsureCapacityDoublesCapacityWhenFull
- Handling null values: testHandlingNullValuesCorrectly
- Various data types: testQueueWithVariousDataTypes
- Mixed operations: testQueueBehaviorAfterMixedOperations
@walmir-silva walmir-silva merged commit 97d93b2 into main Jun 28, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant