Created
August 13, 2021 21:42
-
-
Save kmb385/0053f94d3b61f8532bd3ad83b0e69610 to your computer and use it in GitHub Desktop.
Filter offensive
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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