Atomic Stack Assignment
Contents
Code To Implement
Node
public interface Node<E> { E value(); Optional<Node<E>> nextNode(); }
DefaultNode
@Immutable class DefaultNode.
class: | DefaultNode.java | |
methods: | value nextNode |
|
package: | stack.node.exercise | |
source folder: | main/src/main/java |
constructor
value
nextNode
Stack
public interface Stack<E> { void push(E value); Optional<E> peek(); Optional<E> pop(); }
NotThreadSafeStack
ConcurrentStack
AtomicStack
Testing
class: | StackTestSuite.java | |
package: | stack.exercise | |
source folder: | testing/src/test/java |
DefaultNode
class: | _DefaultNodeTestSuite.java | |
package: | stack.node.exercise | |
source folder: | testing/src/test/java |
NotThreadSafeStack
class: | _NotThreadSafeStackTestSuite.java | |
package: | stack.notthreadsafe.exercise | |
source folder: | testing/src/test/java |
ConcurrentStack
class: | __ConcurrentStackTestSuite.java | |
package: | stack.concurrent.exercise | |
source folder: | testing/src/test/java |
sequential
class: | _ConcurrentStackSequentialTestSuite.java | |
package: | stack.concurrent.exercise | |
source folder: | testing/src/test/java |
parallel
class: | _ConcurrentStackParallelTestSuite.java | |
package: | stack.concurrent.exercise | |
source folder: | testing/src/test/java |
AtomicStack
class: | __AtomicStackTestSuite.java | |
package: | stack.atomic.exercise | |
source folder: | testing/src/test/java |
sequential
class: | _AtomicStackSequentialTestSuite.java | |
package: | stack.atomic.exercise | |
source folder: | testing/src/test/java |
parallel
class: | _AtomicStackParallelTestSuite.java | |
package: | stack.atomic.exercise | |
source folder: | testing/src/test/java |