Question: Execute complete unit test (white box testing) for StringUtils Java class, written by a developer who suddenly left the team. You are provided the source

Execute complete unit test (white box testing) for StringUtils Java class, written by a developer who suddenly left the team. You are provided the source code (StringUtils.java) and you are to write JUnit test cases for it. You are to assume that code description is correct for what each method is supposed to do and the code is supposed to match it.

Implement unit test cases in JUnit (e.g. StringUtilsTest.java)

Run the unit test cases and document the actual results in the report for each test case

Identify any defects you found running the JUnit and describe them in the report (using the template format) in section 2. Note: You should find a few defects.

Submit both the report file and JUnit source code (java file).

All your tests must be in a single java file

public class StringUtils {

// attributes

private String myStr;

// constructor

// assigns parameter value to myStr attribute

// throws NullPointerException if parameter is null or empty string

public StringUtils(String s)

{

if (s == null || s.equals(""))

{

throw new InvalidParameterException("Parameter cannot be null or empty");

}

myStr = s; // assign value of parameter to attribute

}

// constructor

// assigns parameter value to myStr attribute

// upper cases if parameter is true otherwise lower cases

// throws NullPointerException is parameter is null or empty string

public StringUtils(String s, boolean upper)

{

if (s == null)

{

throw new NullPointerException("Parameter cannot be null");

}

if (upper)

myStr = s.toUpperCase();

else

myStr = s.toLowerCase();

}

// returns current value of myStr attribute

public String getMyStr()

{

return myStr;

}

// returns true if myStr ends with character passed in parameter

// otherwise returns false

public boolean endsWithChar(char ch)

{

int last = myStr.length()-1;

if (myStr.charAt(last) == ch)

return true;

return false;

}

// converts myStr attribute to all upper case and returns result

public String convertToUpperCase()

{

String newStr = "";

for (int i=1; i < myStr.length(); i++)

{

char ch = myStr.charAt(i);

newStr = newStr + Character.toUpperCase(ch);

}

return newStr;

}

// returns character at index

// throws IndexOutOfBoundsException exception for out of bounds values

public char returnCharAt(int index)

{

if (index < 0 || index > myStr.length())

{

throw new NullPointerException("Index cannot be outsize of 0 and size of string");

}

return myStr.charAt(index);

}

// adds string in parameter to end of myStr

// returns new value and updates myStr

// throws InvalidParameterException if value is empty string or null

public String updateToConcat(String value)

{

if (value.equals(""))

{

throw new NullPointerException("Parameter cannot be empty string");

}

myStr = myStr.concat(value);

return myStr;

}

}

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!