public object Check(ProfanityFilterRequest request) { string url = string.Format(_webPurifySettings.Url, _webPurifySettings.ApiKey, request.Text); string xml = GetXml(url); return(xml); }
public ProfanityFilterResponse ContainsProfanity(ProfanityFilterRequest request) { var response = new ProfanityFilterResponse { ContainsProfanity = false, Created = DateTime.Now }; var badwords = new[] { "ass", "ass lick", "asses", "asshole", "assholes", "asskisser", "asswipe", "balls", "bastard", "beastial", "beastiality", "beastility", "beaver", "belly whacker", "bestial", "bestiality", "bitch", "bitcher", "bitchers", "bitches", "bitchin", "bitching", "blow job", "b*****b", "blowjobs", "bonehead", "boner", "brown eye", "browneye", "browntown", "bucket c**t", "bull shit", "bullshit", "bum", "bung hole", "butch", "butt", "butt breath", "butt f****r", "butt hair", "buttface", "buttfuck", "buttfucker", "butthead", "butthole", "buttpicker", "chink", "circle jerk", "clam", "c**t", "cobia", "c**k", "cocks", "cocksuck", "cocksucked", "c********r", "cocksucking", "cocksucks", "cooter", "crap", "cum", "cummer", "cumming", "cums", "cumshot", "cunilingus", "cunillingus", "cunnilingus", "c**t", "cuntlick", "cuntlicker", "cuntlicking", "cunts", "cyberfuc", "cyberfuck", "cyberfucked", "cyberfucker", "cyberfuckers", "cyberfucking", "damn", "dick", "dike", "d***o", "dildos", "dink", "dinks", "dipshit", "dong", "douche bag", "dumbass", "dyke", "e*******e", "ejaculated", "ejaculates", "ejaculating", "ejaculatings", "e*********n" , "f*g", "fagget", "fagging", "faggit", "f****t", "faggs", "fagot", "fagots", "fags", "fart", "farted", "farting", "fartings", "farts", "farty", "fatass", "fatso", "felatio", "f******o", "fingerfuck", "fingerfucked", "fingerfucker", "fingerfuckers", "fingerfucking", "fingerfucks", "fistfuck", "fistfucked", "fistfucker", "fistfuckers" , "fistfucking", "fistfuckings", "fistfucks", "f**k", "f****d", "f****r", "fuckers", "f****n", "f*****g", "f******s", "f****e", "f***s", "fuk", "fuks", "furburger", "g******g", "gangbanged", "gangbangs", "gaysex", "gazongers", "goddamn", "gonads", "gook", "guinne", "hard on", "hardcoresex", "h**o", "hooker", "horniest", "horny", "hotsex", "hussy", "jack off", "jackass", "jacking off", "jackoff", "jack-off", "jap" , "jerk", "jerk-off", "jism", "j*z", "jizm", "j**z", "kike", "kock", "kondum", "kondums", "kraut", "kum", "kummer", "kumming", "kums", "kunilingus", "lesbian", "lesbo", "merde", "mick", "mothafuck", "m********a", "mothafuckas", "mothafuckaz", "mothafucked", "mothafucker", "mothafuckers", "mothafuckin", "mothafucking", "mothafuckings", "mothafucks", "motherfuck", "motherfucked", "m**********r", "motherfuckers", "motherfuckin", "motherfucking", "motherfuckings", "motherfucks", "muff", "nigger", "niggers", "orgasim", "orgasims", "o****m", "o*****s", "pecker", "penis", "phonesex", "phuk", "phuked", "phuking", "phukked", "phukking", "phuks", "phuq", "pimp", "piss", "pissed", "pissrr", "pissers", "pisses", "pissin", "pissing", "pissoff", "prick", "pricks", "pussies", "pussy", "pussys", "queer", "retard", "schlong", "screw", "sheister", "shit", "shited", "shitfull", "shiting", "shitings", "shits", "s*****d", "shitter", "shitters", "s******g", "s*******s", "shitty", "slag", "sleaze", "s**t", "s***s", "smut", "snatch", "spunk", "twat", "wetback", "w***e", "wop" }; if (request.Text.Split(' ').Intersect(badwords).Count() > 0) { response.ContainsProfanity = true; } return(response); }
public ProfanityFilterResponse ContainsProfanity(ProfanityFilterRequest request) { ProfanityFilterResponse response; try { var x = _profanityFilterService.Check(request) as string; response = CreateProfanityFilterResponseFromXml(x); } catch (System.Exception e) { response = new ProfanityFilterResponse { Success = false, Error = e.ToString() }; response.Success = false; } return(response); }
public void TestFilterContainsProfanity() { //Arrange var mockWebPurifyProfanityFilterService = new Mock <IProfanityFilterService>(); var expectedCount = 3; var expectedExpletives = new[] { "banana", "apple", "chicken" }; var xmlresponse = string.Format( @"<?xml version=""1.0"" encoding=""utf-8"" ?> <rsp stat=""ok""> <method>webpurify.live.return</method> <format>rest</format> <found>{0}</found> <expletive>{1}</expletive> <expletive>{2}</expletive> <expletive>{3}</expletive> <api_key>api_key</api_key> </rsp>", expectedCount, expectedExpletives[0], expectedExpletives[1], expectedExpletives[2]); var request = new ProfanityFilterRequest { Language = "en", Text = "We are just testing the XML Parsing here, so this is ignored" }; mockWebPurifyProfanityFilterService .Setup(m => m.Check(request)) .Returns(xmlresponse); //Act var profanityFilter = new WebPurifyProfanityFilter(mockWebPurifyProfanityFilterService.Object); var resultResponse = profanityFilter.ContainsProfanity(request); //Assert Assert.AreEqual(expectedCount, resultResponse.Count); Assert.AreEqual(expectedCount, resultResponse.Expletives.Length); Assert.AreEqual(expectedExpletives[0], resultResponse.Expletives[0]); Assert.AreEqual(expectedExpletives[1], resultResponse.Expletives[1]); }