// NewsMaker constructor and equals test, same name, no stories NewsMaker newsMaker1 = new NewsMaker("Name1"); NewsMaker newsMaker2 = new NewsMaker("Name1"); if (newsMaker1.equals(newsMaker2)) { return true; } else { return false; } // NewsMaker constructor and equals test, same name, different stories NewsMaker newsMaker1 = new NewsMaker("Name1"); NewsMaker newsMaker2 = new NewsMaker("Name1"); newsMaker2.addNewspaperStory(null); if (newsMaker1.equals(newsMaker2)) { return true; } else { return false; } // NewsMaker constructor and equals test, different names NewsMaker newsMaker1 = new NewsMaker("Name1"); NewsMaker newsMaker2 = new NewsMaker("Name2"); if (!newsMaker1.equals(newsMaker2)) { return true; } else { return false; } // NewsMaker constructor and getName test NewsMaker newsMaker1 = new NewsMaker("Name1"); if ("Name1".equals(newsMaker1.getName())) { return true; } else { return false; } // NewsMaker addNewspaperStory and getNewspaperStories test, empty NewsMaker newsMaker1 = new NewsMaker(); NewspaperStory newspaperStory1 = new NewspaperStory(null,null,0,null,null,null); newsMaker1.addNewspaperStory(newspaperStory1); NewspaperStoryList newspaperStoryList1 = newsMaker1.getNewspaperStories(); if (newspaperStory1.equals(newspaperStoryList1.get(0))) { return true; } else { return false; } // NewsMaker addNewspaperStory and getNewspaperStories test, not empty, not duplicate NewsMaker newsMaker1 = new NewsMaker(); NewspaperStory newspaperStory1 = new NewspaperStory(null,null,0,null,null,null); NewspaperStory newspaperStory2 = new NewspaperStory(null,null,1,null,null,null); newsMaker1.addNewspaperStory(newspaperStory1); newsMaker1.addNewspaperStory(newspaperStory2); NewspaperStoryList newspaperStoryList1 = newsMaker1.getNewspaperStories(); int size = newspaperStoryList1.size(); for (int i = 0; i < size; i++) { if (newspaperStory1.equals(newspaperStoryList1.get(i))) { return true; } } return false; // NewsMakerList contains test, empty NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); if (newsMakerList1.contains(newsMaker1)) { return false; } else { return true; } // NewsMakerList contains test, non empty, not present NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); newsMakerList1.add(newsMaker1); NewsMaker newsMaker2 = new NewsMaker("NewsMakerName2"); if (newsMakerList1.contains(newsMaker2)) { return false; } else { return true; } // NewsMakerList add and contains test, empty NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); newsMakerList1.add(newsMaker1); if (newsMakerList1.contains(newsMaker1)) { return true; } else { return false; } // NewsMakerList add and contains test, non-empty, non-duplicate NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); NewsMaker newsMaker2 = new NewsMaker("NewsMakerName2"); newsMakerList1.add(newsMaker1); newsMakerList1.add(newsMaker2); if (newsMakerList1.contains(newsMaker2)) { return true; } else { return false; } // NewsMakerList add test, non-empty, duplicate NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); newsMakerList1.add(newsMaker1); try { newsMakerList1.add(newsMaker1); } catch (IllegalArgumentException e) { return true; } return false; // NewsMakerList get test, empty NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); if (null == newsMakerList1.get(newsMaker1)) { return true; } else { return false; } // NewsMakerList add and get test, empty NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); newsMakerList1.add(newsMaker1); if (newsMaker1.equals(newsMakerList1.get(newsMaker1))) { return true; } else { return false; } // NewsMakerList get test, non empty, not found NewsMakerList newsMakerList1 = new NewsMakerList(); NewsMaker newsMaker1 = new NewsMaker(); newsMakerList1.add(newsMaker1); NewsMaker newsMaker2 = new NewsMaker("NewsMakerName2"); if (null == newsMakerList1.get(newsMaker2)) { return true; } else { return false; } // NewspaperStory constructor and getDate test import java.time.LocalDate; LocalDate date1 = LocalDate.of (1, 2, 3); NewspaperStory newspaperStory1 = new NewspaperStory (date1, null, 321, null, null, null); if (date1.equals(newspaperStory1.getDate())) { return true; } else { return false; } // NewspaperStory constructor and getNewspaperName test NewspaperStory newspaperStory1 = new NewspaperStory (null, "NewspaperName1", 321, null, null, null); if ("NewspaperName1".equals(newspaperStory1.getNewspaperName())) { return true; } else { return false; } // NewspaperStory constructor and getWordCount test NewspaperStory newspaperStory1 = new NewspaperStory (null, null, 321, null, null, null); if (321 == newspaperStory1.getWordCount()) { return true; } else { return false; } // NewspaperStory constructor and getTopic test NewspaperStory newspaperStory1 = new NewspaperStory (null, null, 321, "Topic1", null, null); if ("Topic1".equals(newspaperStory1.getTopic())) { return true; } else { return false; } // NewspaperStory constructor and getNewsMaker1 test NewsMaker newsMaker1 = new NewsMaker ("NewsMakerName1"); NewspaperStory newspaperStory1 = new NewspaperStory (null, null, 321, null, newsMaker1, null); if (newsMaker1.equals(newspaperStory1.getNewsMaker1())) { return true; } else { return false; } // NewspaperStory constructor and getNewsMaker2 test NewsMaker newsMaker2 = new NewsMaker ("NewsMakerName2"); NewspaperStory newspaperStory1 = new NewspaperStory (null, null, 321, null, null, newsMaker2); if (newsMaker2.equals(newspaperStory1.getNewsMaker2())) { return true; } else { return false; } // NewsPaperStoryList add and size test, empty NewspaperStoryList newspaperStoryList1 = new NewspaperStoryList(); newspaperStoryList1.add(new NewspaperStory(null,null,0,null,null,null)); if (1 == newspaperStoryList1.size()) { return true; } else { return false; } // NewsPaperStoryList add and size test, not empty, not duplicate NewspaperStoryList newspaperStoryList1 = new NewspaperStoryList(); newspaperStoryList1.add(new NewspaperStory(null,null,0,null,null,null)); newspaperStoryList1.add(new NewspaperStory(null,null,1,null,null,null)); if (2 == newspaperStoryList1.size()) { return true; } else { return false; } // NewsPaperStoryList add and get test, empty NewspaperStoryList newspaperStoryList1 = new NewspaperStoryList(); NewspaperStory newspaperStory1 = new NewspaperStory(null,null,0,null,null,null); newspaperStoryList1.add(newspaperStory1); if (newspaperStory1.equals(newspaperStoryList1.get(0))) { return true; } else { return false; } // NewsPaperStoryList add, size, and get test, not empty, not duplicate NewspaperStoryList newspaperStoryList1 = new NewspaperStoryList(); NewspaperStory newspaperStory1 = new NewspaperStory(null,null,0,null,null,null); NewspaperStory newspaperStory2 = new NewspaperStory(null,null,1,null,null,null); newspaperStoryList1.add(newspaperStory1); newspaperStoryList1.add(newspaperStory2); int size = newspaperStoryList1.size(); for (int i = 0; i < size; i++) { if (newspaperStory2.equals(newspaperStoryList1.get(i))) { return true; } } return false; // readNoozFile test for throwing IOException import java.io.IOException; try { NewsMakerList newsmakerList = NoozFileProcessor.readNoozFile("Bogus Filename"); } catch (IOException e) { return true; } return false; // readNoozFile test for not throwing IOException import java.io.IOException; try { NewsMakerList newsmakerList = NoozFileProcessor.readNoozFile("StoryData01"); } catch (IOException e) { return true; } return false; // decodeDate test import java.lang.reflect.Method; import java.time.LocalDate; LocalDate testDate = LocalDate.of(2000, 01, 02); LocalDate returnedDate = null; Class[] argClasses = { String.class }; Object[] argObjects = { "20000102" }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeDate", argClasses); method.setAccessible(true); returnedDate = (LocalDate) method.invoke(null, argObjects); } catch (Exception e) { return false; } if (testDate.equals(returnedDate)) { return true; } else { return false; } // decodeNewspaper test import java.lang.reflect.Method; String returnedNewspaperName = ""; Class[] argClasses = { String.class }; Object[] argObjects = { "1" }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewspaper", argClasses); method.setAccessible(true); returnedNewspaperName = (String) method.invoke(null, argObjects); } catch (Exception e) { return false; } if ("New York Times".equals(returnedNewspaperName)) { return true; } else { return false; } // decodeWordCount test import java.lang.reflect.Method; int returnedWordCount = 0; Class[] argClasses = { String.class }; Object[] argObjects = { "1" }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeWordCount", argClasses); method.setAccessible(true); returnedWordCount = (int) method.invoke(null, argObjects); } catch (Exception e) { return false; } if (1 == returnedWordCount) { return true; } else { return false; } // decodeTopic test import java.lang.reflect.Method; String returnedTopic = ""; Class[] argClasses = { String.class }; Object[] argObjects = { "1" }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeTopic", argClasses); method.setAccessible(true); returnedTopic = (String) method.invoke(null, argObjects); } catch (Exception e) { return false; } if ("Government Agencies/Legislatures".equals(returnedTopic)) { return true; } else { return false; } // decodeNewsmakerName test, none, one import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "99", "NewsMakerName2" }; Object[] argObjects = { parts, 4 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("None".equals(returnedNewsMakerName)) { return true; } else { return false; } // decodeNewsmakerName test, none, two import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "NewsMakerName2", "99" }; Object[] argObjects = { parts, 5 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("None".equals(returnedNewsMakerName)) { return true; } else { return false; } // decodeNewsmakerName test, single, first import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "\"NewsMakerName1\"", "\"NewsMakerName2\"" }; Object[] argObjects = { parts, 4 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("NewsMakerName1".equals(returnedNewsMakerName)) { return true; } else { return false; } // decodeNewsmakerName test, single, second import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "\"NewsMakerName1\"", "\"NewsMakerName2\"" }; Object[] argObjects = { parts, 5 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("NewsMakerName2".equals(returnedNewsMakerName)) { return true; } else { return false; } // decodeNewsmakerName test, double, first import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "\"NewsMaker", " Name1\"", "\"NewsMakerName2\"" }; Object[] argObjects = { parts, 4 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("NewsMaker, Name1".equals(returnedNewsMakerName)) { return true; } else { return false; } // decodeNewsmakerName test, double, second import java.lang.reflect.Method; String returnedNewsMakerName = ""; Class[] argClasses = { String[].class, int.class }; String[] parts = { "DateString", "NewsPaperCode", "WordCountString", "TopicCode", "\"NewsMaker", " Name1\"", "\"NewsMaker", " Name2\"" }; Object[] argObjects = { parts, 6 }; Method method; try { method = NoozFileProcessor.class.getDeclaredMethod("decodeNewsmakerName", argClasses); method.setAccessible(true); returnedNewsMakerName = (String) method.invoke(null, argObjects); } catch (Exception e) { System.err.println("Exception: " + e); return false; } if ("NewsMaker, Name2".equals(returnedNewsMakerName)) { return true; } else { return false; } // convertToOutputFormat test import java.lang.reflect.Method; import java.time.LocalDate; NewspaperStory newspaperStory = new NewspaperStory(LocalDate.of(2000, 12, 31), "Times of London", 20, "Interesting Topic", null, null); String storyString = "December 31, 2000; Times of London; 20 words; Interesting Topic"; String returnedString = ""; Class[] argClasses = { NewspaperStory.class }; Object[] argObjects = { newspaperStory }; Method method; try { method = UserInterface.class.getDeclaredMethod("convertToOutputFormat", argClasses); method.setAccessible(true); returnedString = (String) method.invoke(null, argObjects); } catch (Exception e) { return false; } if (storyString.equals(returnedString)) { return true; } else { return false; } // createListOfNewspaperStoriesForNewsmaker test import java.time.LocalDate; NewsMaker newsMaker1 = new NewsMaker("Interesting Person"); NewspaperStory newspaperStory1 = new NewspaperStory(LocalDate.of(2000, 12, 31), "Times of London", 20, "Interesting Topic", null, null); newsMaker1.addNewspaperStory(newspaperStory1); NewspaperStory newspaperStory2 = new NewspaperStory(LocalDate.of(2001, 1, 1), "LA Times", 6000, "Interesting Topic 2", null, null); newsMaker1.addNewspaperStory(newspaperStory2); String storyListString = "December 31, 2000; Times of London; 20 words; Interesting Topic" + "\nJanuary 1, 2001; LA Times; 6000 words; Interesting Topic 2" + "\nNumber of Stories: 2; Number of Newspapers: 2; Number of Words: 6020; Number of Topics: 2"; String returnedStoryList = UserInterface.createListOfNewspaperStoriesForNewsmaker(newsMaker1); if (storyListString.equals(returnedStoryList)) { return true; } else { return false; }