Question: EA JRE System Library [ JavaSE - 1 . 8 ] v src v ## exceptionsimplementationsx## testDictionaryv ### test# testDictionaryLab 3 : Abstract Data Types

EA JRE System Library [JavaSE-1.8]
v src
v ## exceptionsimplementationsx## testDictionaryv ### test# testDictionaryLab 3: Abstract Data Types and Test-Driven Development
Background
When writing the specifications for an ADT (Abstract Data Type), only answer what the methods
will do, and not how they will do it. TDD allows us to focus on what to test for according to the
contract defined in the ADT and not how the code had been written.
Problem Description
Consider the following requirements for the DictionaryADT: (also known as maps or
associative arrays)
This data type must be able to hold data in (key, value) pairs where every key is unique.
It must be possible to insert a (key, value) pair into the dictionary.
It must be possible to remove a pair in the dictionary based on the key.
It must be possible to update the value of an existing key.
We also require the ability to lookup a value based on the key.
An example of a similar ADT can be found in java.util.Map.java.
Instructions
1. Working individually, write a possible contract (specification) as a Java interface for the
DictionaryADT using the Lab3StartingCode project.
Your contract must include the required functionalities as defined in the problem
description as methods stubs with appropriate pre-conditions, post-conditions,
parameters, return values and expected exceptions using proper Javadoc notations.
The specification should be documented so that the person who receives it could write
an implementation without any extra information.
2. Pair up with a classmate and complete the remaining steps.
3. Compare and discuss the contract with your partner. Together, finalize the ADT to make
sure all functionalities are specified appropriately in the contract.
4. Follow the steps discussed in class to develop a complete set of JUnit tests to cover the
functionality of each method. Include expected, boundary and strange values that are not
specified in the preconditions.
Note: Your tests should all fail as this point, as there is no implementation of a Dictionary
class yet. However, consider at this point whether there is any functionality missing
in the original specification.
5. Revisit the specification with your partner and update it if necessary.
2023, Southern Alberta Institute of Technology 2
6. Once you are satisfied with all the potential functionality of the DictionaryADT and you have
a complete set of JUnit test to validate the functionalities, follow the TDD methodology to
complete the implementation in the Dictionary class.
7. Submit your completed zipped exported Eclipse project to Brightspace by the posted due
date. Only one submission per pair is required, please note in your comment who your
partner is.
 EA JRE System Library [JavaSE-1.8] v src v ## exceptionsimplementationsx## testDictionaryv

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!