public static void Assert(bool condition, string format, params object[] args) { if (!condition) { NephosAssertionException.Fail(format, args); } }
public static void Assert(bool condition, string message, Exception innerException) { if (!condition) { NephosAssertionException.Fail(message, innerException); } }
public static void Assert(bool condition) { if (!condition) { NephosAssertionException.Fail(); } }
public static void Assert(bool condition, string format, Func <string, string, string> preFormatFunc, string preFormatArg1, string preFormatArg2) { if (!condition) { object[] objArray = new object[] { preFormatFunc(preFormatArg1, preFormatArg2) }; NephosAssertionException.Fail(format, objArray); } }
public static byte[] Encode(NameValueCollection metadata) { if (metadata == null) { throw new ArgumentNullException("metadata"); } int length = 0; string[] allKeys = metadata.AllKeys; for (int i = 0; i < (int)allKeys.Length; i++) { string str = allKeys[i]; length = length + str.Length + 1 + metadata[str].Length + Environment.NewLine.Length; } byte[] numArray = new byte[length]; int bytes = 0; Encoding encoding = MetadataEncoding.CreateAsciiEncoder(); try { for (int j = 0; j < metadata.Count; j++) { string item = metadata.Keys[j]; try { bytes += encoding.GetBytes(item, 0, item.Length, numArray, bytes); } catch (EncoderFallbackException encoderFallbackException) { throw new MetadataFormatException(string.Concat("Metadata key is not valid ASCII: ", item), encoderFallbackException); } bytes += encoding.GetBytes(":", 0, 1, numArray, bytes); string item1 = metadata[j]; try { bytes += encoding.GetBytes(item1, 0, item1.Length, numArray, bytes); } catch (EncoderFallbackException encoderFallbackException1) { throw new MetadataFormatException(string.Concat("Metadata value is not valid ASCII: ", item1), encoderFallbackException1); } bytes += encoding.GetBytes(Environment.NewLine, 0, Environment.NewLine.Length, numArray, bytes); } } catch (ArgumentException argumentException) { NephosAssertionException.Fail("Byte array not long enough to encode metadata", argumentException); } return(numArray); }
public static int CompareVersions(string version1, string version2) { NephosAssertionException.Assert(!string.IsNullOrEmpty(version1)); NephosAssertionException.Assert(!string.IsNullOrEmpty(version2)); if (version1.Equals("2008-10-27", StringComparison.InvariantCulture)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2012-09-19", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2012-09-19", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2013-07-14", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2013-07-14", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (version1.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase)) { if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); } if (!version1.Equals("2017-04-17", StringComparison.InvariantCultureIgnoreCase)) { NephosAssertionException.Fail("version1 = '{0}' is an invalid version.", new object[] { version1 }); NephosAssertionException.Fail("Should never get to this point in VersioningHelper.CompareVersions. This is a coding bug."); return(0); } if (version2.Equals("2008-10-27", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-07-17", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-09-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2009-04-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2011-08-18", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2012-02-12", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2013-08-15", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2014-02-14", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-02-21", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-04-05", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-07-08", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2015-12-11", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-02-19", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-05-31", StringComparison.InvariantCultureIgnoreCase) || version2.Equals("2016-10-16", StringComparison.InvariantCultureIgnoreCase)) { return(1); } if (version2.Equals("2017-04-17", StringComparison.InvariantCultureIgnoreCase)) { return(0); } return(-1); }
public static string[] DecodeContinuationToken(string continuationToken, List <ContinuationTokenVersion> supportedVersions, bool isOriginalVersionSupported, out ContinuationTokenVersion continuationTokenVersion) { string[] strArrays; if (supportedVersions == null || supportedVersions.Count <= 0) { throw new ArgumentException("The supported versions cannot be null and must contain at least one version.", "supportedVersions"); } if (string.IsNullOrEmpty(continuationToken)) { throw new ArgumentException("The continuation token cannot be null or empty.", "continuationToken"); } continuationTokenVersion = ContinuationTokenVersion.None; try { if (Regex.IsMatch(continuationToken, "^(\\d+)!(\\d+)!")) { char[] chrArray = new char[] { '!' }; string[] strArrays1 = continuationToken.Split(chrArray, 3, StringSplitOptions.None); if ((int)strArrays1.Length != 3) { throw new ContinuationTokenParserException(string.Format("Did find expected number of tokens ({0}).", 3), "continuationToken"); } continuationTokenVersion = (ContinuationTokenVersion)Convert.ToInt32(strArrays1[0]); if (!supportedVersions.Contains((ContinuationTokenVersion)((int)continuationTokenVersion))) { string str = "["; int num = 0; foreach (ContinuationTokenVersion supportedVersion in supportedVersions) { str = string.Concat(str, supportedVersion.ToString()); if (num < supportedVersions.Count - 1) { str = string.Concat(str, ", "); } num++; } str = string.Concat(str, "]"); throw new ContinuationTokenParserException(string.Format("The version found ({0}) is not in the list of supported versions; supported versions = {1}.", (ContinuationTokenVersion)((int)continuationTokenVersion), str)); } switch ((int)continuationTokenVersion) { case 1: { strArrays = ContinuationTokenParser.DecodeContinuationTokenV1(strArrays1); return(strArrays); } case 2: { strArrays = ContinuationTokenParser.DecodeContinuationTokenV2(strArrays1); return(strArrays); } } object[] objArray = new object[] { (ContinuationTokenVersion)((int)continuationTokenVersion) }; NephosAssertionException.Fail("Internal error: Version {0} is invalid.", objArray); strArrays = null; } else { if (!isOriginalVersionSupported) { throw new ContinuationTokenParserException("Proper header format not found.", "continuationToken"); } Logger <IRestProtocolHeadLogger> .Instance.Verbose.Log("Received continuation token in original PDC2008 format. Token = '{0}'", new object[] { continuationToken }); strArrays = new string[] { continuationToken }; } } catch (ContinuationTokenParserException continuationTokenParserException1) { ContinuationTokenParserException continuationTokenParserException = continuationTokenParserException1; IStringDataEventStream error = Logger <IRestProtocolHeadLogger> .Instance.Error; object[] objArray1 = new object[] { (ContinuationTokenVersion)((int)continuationTokenVersion), continuationToken }; error.Log("Error decoding continuation token with version {0} and value {1}", objArray1); throw new ContinuationTokenParserException(string.Format("Caught an exception when decoding a {0} continuation token. Continuation token = '{1}'.", (ContinuationTokenVersion)((int)continuationTokenVersion), continuationToken), continuationTokenParserException); } return(strArrays); }