Skip to content

Instantly share code, notes, and snippets.

@kmb385
Created August 13, 2021 21:42
Show Gist options
  • Save kmb385/0053f94d3b61f8532bd3ad83b0e69610 to your computer and use it in GitHub Desktop.
Save kmb385/0053f94d3b61f8532bd3ad83b0e69610 to your computer and use it in GitHub Desktop.
Filter offensive
package review;
import java.util.ArrayList;
import java.util.List;
public class Assessment {
public static void main(String[] args) {
List<Video> videos = new ArrayList<Video>(List.of(new Video("A", false), new Video("B", true), new Video("C", false)));
// System.out.println(filterOffensiveVideosCorrect(videos)); //Test Correct Good
// System.out.println(filterOffensiveVideos1(videos)); //Test INC1 is good it reverses the logic, failing
// filterOffensiveVideos2(videos); //Test INC2 NOT good it performs the filter logic
// System.out.println(videos);
// System.out.println(filterOffensiveVideos3(videos)); //Test INC3 NOT good it performs the filtering logic
}
static List<Video> filterOffensiveVideosCorrect(List<Video> videos) {
List<Video> unoffensiveVideos = new ArrayList<Video>();
for (Video video : videos) {
if(!video.isOffensive())
unoffensiveVideos.add(video);
}
return unoffensiveVideos;
}
static List<Video> filterOffensiveVideos1(List<Video> videos) { //Wrong
List<Video> unoffensiveVideos = new ArrayList<Video>();
for (Video video : videos) {
if(video.isOffensive())
unoffensiveVideos.add(video);
}
return unoffensiveVideos;
}
static void filterOffensiveVideos2(List<Video> videos) { //Does the filter
for (Video video : videos) {
if(video.isOffensive())
videos.remove(video);
}
}
static List<Video> filterOffensiveVideos3(List<Video> videos) { //Does the Filter
for (Video video : videos) {
if(video.isOffensive())
videos.remove(video);
}
return videos;
}
}
class Video {
private String url;
private boolean isOffensive;
public Video(String url, boolean isOffensive) {
super();
this.url = url;
this.isOffensive = isOffensive;
}
public String getUrl() {
return url;
}
public boolean isOffensive() {
return isOffensive;
}
@Override
public String toString() {
return "Video [url=" + url + ", isOffensive=" + isOffensive + "]";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment