chore: remove old test suite

As definitions are no longer being updated, the test suite for them
can be removed. The ML trainer already has statistics on how accurate
it is for both training mode and model creation mode, as well as an
interactive mode to test new messages.
This commit is contained in:
Anna 2021-02-24 20:26:16 -05:00
parent 33f5421e79
commit 76717dd200
8 changed files with 0 additions and 362 deletions

View File

@ -1,37 +0,0 @@
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests.Chat {
public class RMT : DefinitionTest {
public RMT(DefinitionsFixture fixture) {
this.Def = fixture.Defs.Chat["rmt"];
}
public static object[][] DataPositives => DefUtils.DataFromMessages(new[] {
new TestMessage(ChatType.Shout, "FF14Mog.com selling cheap Mog Station Redeem Code,Dirndl's Attire $8.99, Chocobo Carriage $14.39 ,Use 5Off Code:FF5"),
new TestMessage(ChatType.Say, "----[4KGOLD.COM]----[Best Buy Gil Store]----[Cheapest Price]-----[4KGOLD.COM]---[Ultrafast Deliveryin 10 Mins]--[6OFF Code;LOVE]---359qe"),
new TestMessage(ChatType.Shout, "【 PVP◇NK.℃ O M 、◇ = BA 】5分納品ジル480-500HQセット希望の園エデン (野蛮)全部強奪!安い&安全保障【コード714、5OFF】!!!-ssrum"),
new TestMessage(ChatType.Shout, "【 PV■NK.℃ O M 、■ = PBA 】5分納品ジル480-500HQセット希望の園エデン (野蛮)全部強奪!安い&安全保障【コード714、5OFF】!!!-cfjyf"),
new TestMessage(ChatType.Shout, "www.ff14mog.com贩売非常に安い レベルブースト1280円 チョコボキャリッジ 1612円 ディアンドル 1008円 割引コード:JPMOG"),
new TestMessage(ChatType.Shout, "【 PV■NK.℃ O M 、■ = PBA 】5分納品ジル480-500HQセット希望の園エデン (野蛮)全部強奪!安い&安全保障【コード714、5OFF】!!!-unpcp"),
new TestMessage(ChatType.Say, "5GOLD.COM--Buy FFXIV Gil Cheapest,100% Handwork Guaranteed,24/7 online service[5% OFF Code;GOLD].12456"),
new TestMessage(ChatType.Shout, "【 PVP●K.℃ O M 、● = BAN 】5分納品ジル480-500HQセット希望の園エデン (野蛮)全部強奪!安い&安全保障【コード714、5OFF】!!!-kgthx"),
new TestMessage(ChatType.Shout, "【 PVP●K.℃ O M 、● = BAN 】5分納品ジル480-500HQセット希望の園エデン (野蛮)全部強奪!安い&安全保障【コード714、5OFF】!!!-pdonb"),
new TestMessage(ChatType.Say, "Buy Cheap gils on www,G/a/m/e/r/E/a/s/y.c0m, 8% code,FFXIV2020, 15 mins deliveryvnm15"),
new TestMessage(ChatType.TellIncoming, "You're Invited To Our Clan's Final Giveaway Of 850M Gil Starting In 45Mins! Visit Our Discord For The Location Of The Giveaway: https://discord.gg/VtqY9tFyUb"),
new TestMessage(ChatType.TellIncoming, "Quitting FFXIV, You're Invited To The Final Giveaway Of 850M Gil! Please Read The Rules And Location Of The Giveaway On The FFXIV Forum Post: https://www.squarenix.com-iy.ru/ffxiv/threads/6842918"),
new TestMessage(ChatType.Say, "5GOLD.COM--Cheapest ffxiv gil online-5 Min delivery-24/7 online service[5% OFF Code;GOLD].hfzcb"),
});
//public static object[][] DataNegatives => DefUtils.DataFromMessages(new TestMessage[] {
//});
[Theory]
[MemberData(nameof(DataPositives))]
public void Positives(TestMessage message) => this.Check(message, CheckType.Positive);
//[Theory]
//[MemberData(nameof(DataNegatives))]
//public void Negatives(TestMessage message) => this.Check(message, CheckType.Negative);
}
}

View File

@ -1,35 +0,0 @@
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests {
public abstract class DefinitionTest : IClassFixture<DefinitionsFixture> {
protected Definition Def { get; set; }
protected void Check(string message, CheckType type) => this.Def.Check(message, type);
protected void Check(TestMessage message, CheckType type) => this.Def.Check(message, type);
// an assortment of normal party finders/messages to make sure no crazy false positives are happening
public static object[][] DataGlobalNegatives = DefUtils.DataFromMessages(new TestMessage[] {
// party finders
new TestMessage("Static LF the listed roles in prep for 5.4 || T/W/Th 7:30-9:30 AM EST || Discord: Mia#0585"),
new TestMessage("Looking to learn second half of the fight, and then if all goes well farm!!"),
new TestMessage("T/N H/S Tethers DPS Towers KB prevention dps uptime, Partners for the rest no salt farm party"),
new TestMessage("another day another camp on the finder! u know the drill by now bahaprog or nael clean up "),
new TestMessage("♡Need help with anything?♥ Chat, hangout, and can craft! Levekits, gear, & more!☂ Pop in, take a seat, & maybe I can help! :)"),
new TestMessage("Unsync clear for my alt. Come for WT, bonus poetics, or out of the goodness of your heart."),
// messages
new TestMessage(ChatType.FreeCompany, "forgot to leave a commendation, I forget this sometimes"),
new TestMessage(ChatType.StandardEmote, "Anri Valmet laughs at Kyoya Kazuki."),
new TestMessage(ChatType.Shout, "Need a lvl 80 crafter? Buy a leve kit and get your crafter today! PST for price info :D"),
new TestMessage(ChatType.Yell, "Wedding starting at 3:00pm est, pst for an invite. You will get pets. pst"),
new TestMessage(ChatType.Shout, "LOCAL ShB Train! Spend your nuts & seals. Lets go kill things and be savages. This hunt is brought to you by ★VIII - The Double Infinity Free Company! ♥∞"),
new TestMessage(ChatType.Shout, "☆☆Shadowbringers Hunt Train • A Rank☆☆ Starting at 《Instance》 → Lakeland ( 27.6 , 15.3 )"),
new TestMessage(ChatType.LootNotice, "A bonus of 11,850 gil has been awarded for being an adventurer in need."),
});
[Theory]
[MemberData(nameof(DataGlobalNegatives))]
public void GlobalNegatives(TestMessage msg) => this.Check(msg, CheckType.Negative);
}
}

View File

@ -1,68 +0,0 @@
using Dalamud.Game.Chat;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests {
public static class DefUtils {
public static object[][] DataFromStrings(IEnumerable<string> strings) => strings.Select(s => new object[] { s }).ToArray();
public static object[][] DataFromMessages(IEnumerable<TestMessage> messages) => messages.Select(m => new object[] { m }).ToArray();
}
public class DefinitionsFixture {
internal Definitions Defs { get; }
public DefinitionsFixture() {
this.Defs = Definitions.Load(File.ReadAllText("../../../../NoSoliciting/definitions.yaml"));
var allDefs = this.Defs.Chat
.Concat(this.Defs.PartyFinder)
.Concat(this.Defs.Global);
foreach (var entry in allDefs) {
entry.Value.Initialise(entry.Key);
}
}
}
public class TestMessage {
internal ChatType Channel { get; }
internal string Content { get; }
public TestMessage(string content) : this(ChatType.None, content) { }
public TestMessage(ChatType channel, string content) {
this.Content = content;
this.Channel = channel;
}
public override string ToString() {
var name = this.Channel == ChatType.None ? "PF" : this.Channel.ToString();
return $"[{name}] {this.Content}";
}
}
public enum CheckType {
Positive,
Negative,
}
internal static class DefinitionExt {
internal static void Check(this Definition def, string message, CheckType type) {
var testMsg = new TestMessage(message);
def.Check(testMsg, type);
}
internal static void Check(this Definition def, TestMessage message, CheckType type) {
switch (type) {
case CheckType.Positive:
Assert.True(def.Matches((XivChatType)message.Channel, message.Content), message.Content);
break;
case CheckType.Negative:
Assert.False(def.Matches((XivChatType)message.Channel, message.Content), message.Content);
break;
}
}
}
}

View File

@ -1,64 +0,0 @@
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests.Global {
public class FreeCompany : DefinitionTest {
public FreeCompany(DefinitionsFixture fixture) {
this.Def = fixture.Defs.Global["free_company"];
}
public static object[][] DataPositives => DefUtils.DataFromMessages(new[] {
// chat
new TestMessage(ChatType.Shout, "PhD: Phantasy Degree is a Rank 30 FC with a Large plot, 24/7 FC/EXP Buffs. There are NO Level Restrictions to join, we take new and old players. Ask to join or apply."),
new TestMessage(ChatType.Shout, "Wind up fc is a small company looking for new/seasoned adventures to join! If you need help with the msq/clear the latest raid well do our best to help! Send a tell/app to join"),
new TestMessage(ChatType.Shout, "Porxie Menace is recruiting! Veterans & newbies are welcome to join our plan to take over the world... with a snort! Raiding, mapping, eureka, potd/hoh, pvp and much more!!"),
new TestMessage(ChatType.Shout, "Looking for an 18+ FC that enjoys all aspects of the game? <Lusty> (Rank 30) is here for you. From RP to Hunts; Whether you're new or a vet, we're a tight-knit group offering assistance to those who'd like it. We are a different kind of Free Company than what you'd expect. We have 24/7 buffs, discord, and of course are a judgement free LGBTQA+ friendly group ;) just click on my name and send a tell to get started!"),
new TestMessage(ChatType.Shout, "join my free company. we don't got much, but we could have you. which probably also isn't much. join anyway. maps on wednesdays, discord if you feel like it, new player friendly. Ask about a house tour. <<GECKO>> /tell"),
new TestMessage(ChatType.Shout, "♡♡ PomHub <Pom> is recruiting new and veteran players to join our growing family! | 18 + | LGBTQ Friendly | Housing | Daily Buffs | Events | Discord |"),
new TestMessage(ChatType.Shout, "Have you been running alone looking for the sweeter things on Faerie? Wanting to find a rowdy, yet caring, bunch of friends? Well, look no further than <CANDY>! we are a social rank 30 FC, friendly and willing to help new or returning players! Have a discord and Large House at Shiro! 18+, RP friendly, LGBTQ friendly as well. Send a tell and join today :hearts:"),
new TestMessage(ChatType.Shout, "Need an FC? Why not come home to Amaurot? A small group with weekly events, active discord, players primarily on 3 - 11 pm EST /tell me for more info!"),
new TestMessage(ChatType.Shout, "<Memoria> is a small, social FC looking for new or active players who regularly want to socialize and do content together. If this sounds like something youre interested in, send me a /tell or apply via an application"),
new TestMessage(ChatType.Shout, @"Paw Paw Grrr is currently recruiting! We are friendly bunch with constant mood for weird ideas! New? Veteran? Crafter? Doesn't matter! \tell me or Ophelia Shepard for inv :)"),
new TestMessage(ChatType.Shout, "We have a beautiful mansion in the Mist with all comforts, a fleet farming for us and +20% battle exp buff on Saturdays! Send me a /tell if you want more info or a invite!"),
new TestMessage(ChatType.Shout, "Nothing is a small and cozy FC looking for members! If emptiness is endless, then everything rests in nothingness. DM me to join on our endless journey!"),
new TestMessage(ChatType.Shout, "Tired of wandering through the game a lonely weeb? Want Senpai to notice you?! Fat Chocobo FC is now recruiting! Top Ranked FC on Exodus & Worldwide, 6 yrs+ running strong!"),
new TestMessage(ChatType.Shout, "Ashes Of Aesir <<Aesir>> FC is recruiting! we are a friendly bunch in search of expanding our wings with friendly and active members."),
new TestMessage(ChatType.Shout, "Imperium Nirvana is now looking for new members! All are welcomed new or old, we dabble in RP and we dungeon often, If your looking for a new home look no where else!"),
new TestMessage(ChatType.TellIncoming, "<<>> Eclipsehey what about joining a  fc full of  people? Low & High end Casual FC (24/7buffs). Accept, Decline or PM me♡."),
new TestMessage(ChatType.TellIncoming, "<<>>Eclipse would like you to join a - Low & High end Casual FC (24/7buffs). Accept, Decline or PM me♡."),
new TestMessage(ChatType.TellIncoming, "Hello!;-) I've just send u an invite to join Artemis Moonlight. Join us if u like! We are a friendly and helpful FC, willing to help all level players and for fun teamplay. Kupo!"),
// party finder
new TestMessage("FC recruiting new and experienced players. Interested? Join party, send me a /tell or stop by the FC house for more information. "),
new TestMessage(@"Golden Crow [FC] offering new and old players a save place to hang and have fun with - join the weebs now \o/ /pm for info "),
new TestMessage("«ToC» recruiting active members. Join the party, send me a /Tell or stop by the FC house (Goblet P13, W19) for more information."),
new TestMessage("FC Toxic looking for new memeber, Fc house, master crafter and gatherer, buffs available for new players as well as end game"),
new TestMessage("<Panic> is recruiting! We're a slowly growing fc that would appreciate some new faces. /tell for more info or an inv <3"),
new TestMessage("Free Company | Fallen Angel | is welcoming new players on Gilgamesh"),
new TestMessage("[FC recruitment] Small/New FC looking for more members to join us. New and experienced welcomed. Send tell if interested!"),
new TestMessage("<WICH> FC is now recruiting!! we are looking for all types of players. PM me for more info :slight_smile:"),
new TestMessage("Rhotano Mercantile <RM-RP> (18+ RP FC) is recruiting neutral and evil characters for dark RP, enquire within! https://rm-rp.carrd.co/"),
new TestMessage("Elemancia is a Chill FC looking for people who enjoy EX Trials, Animanga, Zombies and Foodie Stuff, Bible Study Available."),
new TestMessage("Sol Verinia FC is recruiting! We accept all levels, looking for active members. We look forward to you becoming one of the spire."),
});
public static object[][] DataNegatives => DefUtils.DataFromMessages(new[] {
new TestMessage("Static recruit. Not hardcore. Discord needed. tues-thurs 11:30pmEST. Join if you have questions."),
new TestMessage("LF new LGBT friends to chill with in Eorzea! Join up, let's chat, and hang out. I have discord as well :)"),
new TestMessage("(Bored)Lovely Au Ra woman [Famfrit] available to be RP girlfriend/wife for long term or short term. Send tell if in need."),
new TestMessage("7/8 mC looking for Tank/Heal 4.4 Discord required//pm Hiro#0000 or here Tues/Fri 8:30-10:30 pm EST Sat 8:30-11:30 pm EST"),
new TestMessage("Lonely bun looking for friends and more! Join and chat while I decorate my sad, empty house? :D"),
new TestMessage("let's go, lesbians! join the primal sapphics community to meet other wlw <3 https://discord.gg/T8yKAPGEHC"),
new TestMessage("p2 advanced relativity/triple apoc. Hopefully a kill. p1 logs required. 0-1-2 chest helpers very welcome."),
new TestMessage("7/8 Casual static looking for 1 healer sundays and mondays 7-10 pm est clear the tier and future raids join pf"),
new TestMessage("Leveling new class feel free to join and grind dungeons"),
});
[Theory]
[MemberData(nameof(DataPositives))]
public void Positives(TestMessage message) => this.Check(message, CheckType.Positive);
[Theory]
[MemberData(nameof(DataNegatives))]
public void Negatives(TestMessage message) => this.Check(message, CheckType.Negative);
}
}

View File

@ -1,65 +0,0 @@
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests.PartyFinder {
public class RMT : DefinitionTest {
public RMT(DefinitionsFixture fixture) {
this.Def = fixture.Defs.PartyFinder["rmt"];
}
public static object[][] DataPositives => DefUtils.DataFromStrings(new[] {
"「Best Prices」《 Shiva Unreal ★ Warrior of Light ★ Ultimates ★ Eden's Verse i500/i505",
"「 MINMAXØ 」 SALES ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts Etc. ≫ World #1 teams, instant delivery. Discord → azrael#6447",
"「」™️ Found it Cheaper? We will beat it! $elling EdenVerse, BLU, Ultimates, Primals, Discord: Valentine#5943",
"「BiS」Selling 》Sac EX, Unreal Shiva 》Savages, Ultimates 》Mounts & More | Price Match Guarantee | Discord→Present#0148",
"「 Selling 」 ♥ Raids Trials Ultimates BLU ♥ Fast Delivery ♥ Price Match ♥ Discord→ Shion#5162",
"♥ SELLING ♥ Shiva Unreal / WoL XM - Eden Savage (☆ i500/i505 ☆) - TEA/UwU/UCoB - Old raids and + | Discord add me: gin#5147",
"「MinmaxØ」 Offering any  →  →  → & more, Instant delivery. Discord→ Minmax#0001",
"[Viet Rice Farmers] is selling All Content Add on Discord Heyitsjowey#2703",
"【Selling ー All the content. You want something? We got this!ーHQ teams and speed at your service!】Discord : Victoriam#4716",
"「」 Guaranteed results! World #1 raiders! ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts ≫ Discord → ashlar#6021",
"Primal/Omega/E4S mounts Gil only at https://rollraider.carrd.co/ or https://discord.gg/FfS5QnW",
"「  TEA•UWU•UCOB =  $ 」→ Jealous#5404",
"☀5.4 Pre-orders☀Savage☀Trials☀Ultimates☀BLU 「DISCORD」⇒ Meliora#2500",
"● Ø | ❶ Loot & Mounts (New Savage, Ultimates etc.) ❷ Coaching & Logs | Instant delivery. Discord→ Enma#7777",
"【SALES】EDENS PROMISE※ULTIMATES※BLU 【PRICE MATCH】【DISCORD】⇔ akise#8096",
" Ø →  +  +  +  → Instant Delivery & Most Trusted. Discord → Enma#7777 ",
" WorthyLegendsØ 【2021 Discount for everyone】 ❶ 『EDEN 9S-12SALL LOOT』 一 Delivery Now. Discord → Dawn#4022",
"[LALAKUZA] Eden's Promise Savage i530/535 loot, BLU Morbol, UWU,UCOB,TEA Ultimates, Trials. Discord: Lalakuza#1157",
"[LALAKUZA] Eden's Promise Savage, BLU Morbol mount, UWU,UCOB,TEA Ultimate, Raids, Trials. Discord: Lalakuza#1157",
"「」™Eden's Promise, E9-E12s, Primals, Ultimates, All",
"「  」™ Eden's Promise E9-12S, Ultimates, Primals, BLU Morbol! World # TEAMS  Discord: ari#4896",
"「  」Service Eden Savage E9-12S ― • Ucob/UwU/TEA ― • Primals ― • BLU # TEAMS | Discord: ari#4896",
"「」 all Ultimates, all Savage raids,Blue, Primals and more!  AFK | Info Discord: LunaC#3950. Fast and reliable.",
"「 Shot」≪Savage --Ultimates--Mounts: GER/ENG.≫ Satisfaction guaranteed: Discord → stella#2179",
"「1stClass」™Eden's Promise, E9-E12s, Primals, Ultimates, All old content, Best Teams, Best Help!Discord: Cid#7000",
"[Helping] E9S-E12S! ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts ❹ Blu ≫ Discord → ashlar#6021",
"「 FlashØ」 ≪ ❶ Savages 一 ❷ Ultimates 一 ❸ Mounts 一 ❹ BLU 一 ❺ POTD/HOH 一 ❻ Coaching≫ Discord → azrael#1010",
"<Savage ※ Ultimates ※ BLU ※ Primals ※ Coaching> 一 Present#0148 ★★★★★",
"「 SHØ T 」 ≪ Eden Savage E9-12s • Ucob/UwU/TEA • Primals • Mounts ≫ Fast & Reliable | Discord→ yu#7494",
"「&」 Help with ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts ❹ Blu ≫ Discord → ashlar#6021",
" We can run you through E9S-E12S/EX and give you loot. We'll also do your taxes! Plus we have a lawyer --- mith#0177 for more info",
"Fast and easy help with ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts ❹ Blu ≫ Discord → ashlar#6021",
"「Restocker」Services 》TEA, BLU content, Eden Savage, Ultimates UwU & UCoB, Primals! Discord: Restocker#8778.",
});
public static object[][] DataNegatives => DefUtils.DataFromStrings(new[] {
"Doing Art commission of your charactet with good price! more info add me on discord: d0uglaz#7409 ♥",
"Selling HQ 490 DoH/DoL sets, just in time for the Ishgard restoration project. Cheaper than MB, Whipser or join for info.",
"Looking to sell medium odder otter walls(2mil) join or tell.",
@"Selling 1x Eldthurs Horn for 8mil. Skip MB taxes \o/ Join if interested",
"Selling Phanta mats, let me know what you want and I can deliver it to you. 2k for 300k. Join the party don't /tell please",
"#1 NA WHOLESALER! NEO SET-660K! i490 SET-1.5M(w/DISCOUNT OPTIONS)! BUYING PHANTAS ANY AMOUNT 3K! JOIN PARTY!!!",
"1/2 chest Lootmaster for sam weap. If weap drops then coffer is rolled on. KB uptime. Ilya. If you just want a page or to help.",
"Selling ufiti mount for 1.1 mil\nits cheaper then the MB ",
"Static LF AST/SCH raid days: TUE/THRS 19:00st SAT 14:00st currently progging E11S join for more info. If AFK: Floof#1342",
});
[Theory]
[MemberData(nameof(DataPositives))]
public void Positives(string msg) => this.Check(msg, CheckType.Positive);
[Theory]
[MemberData(nameof(DataNegatives))]
public void Negatives(string msg) => this.Check(msg, CheckType.Negative);
}
}

View File

@ -1,68 +0,0 @@
using Xunit;
namespace NoSoliciting.Tests.DefinitionsTests.Global {
public class Roleplay : DefinitionTest {
public Roleplay(DefinitionsFixture fixture) {
this.Def = fixture.Defs.Global["roleplay"];
}
public static object[][] DataPositives => DefUtils.DataFromStrings(new[] {
"If you're looking for something to do, come find monthly contests, 4 weekly RP events and more! discord.gg/LuckySevens",
"Thorned Dragon Cosplay Event Sunday 9/6! Website for more info: tdevent.carrd.co Discord: discord.gg/thorneddragonclub",
"[Rp] The Viridian Orchid is a non-profit companion's den seeking those interested in joining our community! <viriorchid.carrd.co>",
"[RP] The Thonrned Dragon Cosplay Contest entry closes tonight at midnight est. Entry is free. Full details at [discord.gg/48R4RpP]",
"● The Pearl ● a Victorian Brothel opening Tuesday! Applications closing tonight, get yours in now! [ thepearlxiv.carrd.co ]",
"[RP] Looking for adventure? Bounties, work, odd jobs? Join Bounty Call! More info in our discord: https://discord.gg/SnjZWRf",
"[RP/+18RP] - The HROTHEL - Bathhouse & Bar [LGBTQ+Friendly]\n[Fam. W.5 - P.50 Gridania][discord.io/hrothel] Hrothgar Operated",
"( RP ) Wonderlust is a new club on Midgar! We are hiring! We also want our customers to join! https://discord.gg/Mn3QNn",
"Twine Trolley Hostel is now open in Mist, 3rd Ward (Exodus) apt#88. Please be respectful of other guests and enjoy your stay.",
"DLITE Is OPEN! Come grab a courtesan and relax in our lounge and let our expert staff see to your every whim, SIren, gob W19,43",
"If you're looking for something to do, come find monthly contests, 4 weekly RP events and more! discord.gg/LuckySevens",
"[18+]Need to get your RP/ERP fix in? Wishing to become or buy a courtesan? C'mere to Touch Fluffy Tail @ discord.gg/fCS8Zng",
"MR casino venue looking for greeters and courtesans. Join pt if interested.",
"Have a venue? Come plug yourself while checking us out! We're The - !! - https://discord.gg/S7BUVKh",
"Looking for a good time? Come to the Sapphire for frat/sorority night! 5-10EST Gilga Mist W2 P9",
"Lucky Sevens - 18+ RP community to find partners, advertise your venue, post screenies and enjoy FF14! discord.gg/LuckySevens",
"{RP} New venue coming to Siren! Join for more information ahead of our grand opening! https://www.discord.gg/nqJtQSD",
"Open RP night with the Lucky Sevens at The Gold Court, Hyperions Steps of Thal X: 11, Y: 11 - discord.gg/LuckySevens",
"LUST the original Maid Harem- welcome guests into our discord! https://discord.gg/wczaT6k ERP discord 18+",
"Lucky Sevens - Primal's largest and most active RP discord - Welcomes you! discord.gg/LuckySevens",
"SPAGHETTI WESTERN NIGHT AT SPAGET 2112! Free cowboy hats! Whiskey provided by the Whiskey Tears! Gilga Mist W21 P12",
"(RP) Adonis Blue invites you to frolick and play within our land of enchantment. All are welcome to make merry.Lamia Gob W14 L4.",
"[18+RP] Teraflare is having a VIP sleepover at 1am EST!! Talk to management, and get your VIP access to join our shenanigans!!",
"[RP] Karaoke Night at NRAID HQ! Sign up for a chance to perform on our stage! Spectators welcome! https://discord.gg/ZhgqEqf",
" Coeurlseye Bazaar Night! 9 PM EST - Vendors, food, unique trinkets and more! Learn more at tinyurl.com/CBazaar",
"[RP] [Siren] The Black Flower Lounge is looking for new staff! waiter, bartender and escort positions open! join for info!",
"The Starlight Room is hosting a gothic masquerade tonight from 8PM EST til 1AM EST. The Goblet War 10 Plot 19 Sargatanas!",
"[RP/LGBT+] The Ponspectors present: \"BAKE SALE!\" |Excal|Mist|Ward13|Apartment6| Come see our catboys!",
"[RP][2 LIVES GONE CAFE] \"Take a break from housing. Inside a house\" LB W23 P17",
"Need a break from Bozja? Come relax at Cottontail Cafe and enjoy our food and drink Exodus Mist 12, 57",
"[RP] The Reading Nook Come in For Tea,Treats, and the Company of your Fellow Xaela/Raens from the Azim Steppe!",
"CLUB KARMA serves what you deserve every Wednesday! Join our Discord for more fun and info: https://discord.gg/xmNc7rn",
"Crescents Keep All Saints Date Auction and Costume Party! Over 1mil in prizes! Mist Ward 14 Plot 34 7-10 EST",
"Black Lotus HalloweenParty Oct.26th7pmCST!CostumeContest,DJ, Auction and More! https://blacklotushalloweenparty.carrd.co/",
"The Queen's Parlor all-inclusive resort is hiring! Front of house, restaurant, spa and casino all have openings!",
"\"A Grave Affair\", party on Cactuar, Goblet, W6P6! Costume contest w/ prizes, raffle, and more! https://discord.gg/6X24tx6v",
"Come pull up to the Bread Bank and buy some bread\nIn the Adamantoise Goblet, Ward 20, plot 40",
"Come to The House Of Seoul and enjoy Jazz with eastern influence. Relax, eat, or drink. Vibe is a must. Faerie Shiro 24 24",
"(18+) The Silver Moogle is open 1030pm to 2am ET. Come dance the night away with us or pick a shadow to mingle with!",
"Beep Beep The Velvet Room Crew Party Bus JUST Landed at | Bottoms Up Nightlife W24p16 shiro ADAM | Come chill with us <3",
"★★ Bring all your bodacious bods for 80's night tonight! Mal - Mist - W21 P15! Leave the chill pill at home!",
"「  」 Lookin for a chill rp spot, with Open Stage Performance and some possible Criminal Undertones? TALLEY MARKS OPEN N",
});
public static object[][] DataNegatives => DefUtils.DataFromStrings(new[] {
"«ToC» recruiting active members. Join the party, send me a /Tell or stop by the FC house (Goblet P13, W19) for more information.",
"This new group I joined has some newer ultimate raiders in it, one of them hasn't cleared E8S. But I was surprised. We got through p1 of TEA in about 7-8 hours and now we're working on limit cut",
"Bard LF Static E9S-E12S reclears. Available Sun-Thu 8pm PST onwards, Fri-Sat 1pm PST onwards. Discord: Mountainwhale#0001",
});
[Theory]
[MemberData(nameof(DataPositives))]
public void Positives(string msg) => this.Check(msg, CheckType.Positive);
[Theory]
[MemberData(nameof(DataNegatives))]
public void Negatives(string msg) => this.Check(msg, CheckType.Negative);
}
}

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net48</TargetFramework>
<LangVersion>8</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="xunit" Version="2.4.1"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NoSoliciting\NoSoliciting.csproj"/>
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud, Version=5.2.3.3, Culture=neutral, PublicKeyToken=null">
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\Dalamud.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

6
NoSoliciting.sln Normal file → Executable file
View File

@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting", "NoSolicitin
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0C424003-6609-47D7-8D27-BF309C34E909}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Tests", "NoSoliciting.Tests\NoSoliciting.Tests.csproj", "{1962D91F-543A-4214-88FD-788BB7ACECE3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Interface", "NoSoliciting.Interface\NoSoliciting.Interface.csproj", "{E88E57AB-EFB8-4F2F-93DB-F63123638C44}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Trainer", "NoSoliciting.Trainer\NoSoliciting.Trainer.csproj", "{3D774127-F7A9-4B6D-AB2F-3AAF80D15586}"
@ -27,10 +25,6 @@ Global
{E4C12987-9064-4788-8783-BE418B2C0142}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4C12987-9064-4788-8783-BE418B2C0142}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4C12987-9064-4788-8783-BE418B2C0142}.Release|Any CPU.Build.0 = Release|Any CPU
{1962D91F-543A-4214-88FD-788BB7ACECE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1962D91F-543A-4214-88FD-788BB7ACECE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1962D91F-543A-4214-88FD-788BB7ACECE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1962D91F-543A-4214-88FD-788BB7ACECE3}.Release|Any CPU.Build.0 = Release|Any CPU
{E88E57AB-EFB8-4F2F-93DB-F63123638C44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E88E57AB-EFB8-4F2F-93DB-F63123638C44}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E88E57AB-EFB8-4F2F-93DB-F63123638C44}.Release|Any CPU.ActiveCfg = Release|Any CPU