//Numeric.RPL_MYINFO import std.range : only; { immutable info = parseNumeric!(Numeric.RPL_MYINFO)(only("someone", "localhost", "IRCd-2.0", "BGHIRSWcdgikorswx", "ABCDFGIJKLMNOPQRSTYabcefghijklmnopqrstuvz", "FIJLYabefghjkloqv")); assert(info.get.name == "localhost"); assert(info.get.version_ == "IRCd-2.0"); assert(info.get.userModes == "BGHIRSWcdgikorswx"); assert(info.get.userModesWithParams == ""); assert(info.get.channelModes == "ABCDFGIJKLMNOPQRSTYabcefghijklmnopqrstuvz"); assert(info.get.channelModesWithParams == "FIJLYabefghjkloqv"); assert(info.get.serverModes == ""); assert(info.get.serverModesWithParams == ""); } { immutable info = parseNumeric!(Numeric.RPL_MYINFO)(only("someone", "localhost", "IRCd-2.0", "BGHIRSWcdgikorswx", "ABCDFGIJKLMNOPQRSTYabcefghijklmnopqrstuvz", "FIJLYabefghjkloqv", "q", "w", "x")); assert(info.get.name == "localhost"); assert(info.get.version_ == "IRCd-2.0"); assert(info.get.userModes == "BGHIRSWcdgikorswx"); assert(info.get.userModesWithParams == "q"); assert(info.get.channelModes == "ABCDFGIJKLMNOPQRSTYabcefghijklmnopqrstuvz"); assert(info.get.channelModesWithParams == "FIJLYabefghjkloqv"); assert(info.get.serverModes == "w"); assert(info.get.serverModesWithParams == "x"); } { immutable info = parseNumeric!(Numeric.RPL_MYINFO)(only("someone", "localhost", "IRCd-2.0", "BGHIRSWcdgikorswx ABCDFGIJKLMNOPQRSTYabcefghijklmnopqrstuvz FIJLYabefghjkloqv")); assert(info.isNull); }