/// <summary> /// A simple static self test method. /// </summary> /// <returns>bool - currently always true</returns> public static bool TestSelf() { Logger log = new Logger("Logger: TestSelf"); log.Debug("A debug message."); log.Info("An info message."); log.Warn("A warn message."); log.Error("An error message."); log.Write("Some writes: "); for (int i = 0; i < 5; i++) log.Write("{0},", i); log.WriteLine(""); log.WriteLine("This WriteLine message will always be displayed."); return (true); }
// --------------------------------------------------------------------- #region TestSelf // --------------------------------------------------------------------- /// <summary> /// Simple self test. See StreamTokenizerTestCase for full /// tests. /// </summary> /// <returns>bool - true for success, false for failure.</returns> public static bool TestSelf() { Logger log = new Logger("testSelf"); log.Verbosity = VerbosityLevel.Debug; log.Info("Starting..."); string testString; List<Token> tokens; // setup tokenizer StreamTokenizer tokenizer = new StreamTokenizer(); tokenizer.Settings.SetupForCodeParse(); tokenizer.Verbosity = VerbosityLevel.Debug; // // try string parse // log.Write("--------------------------------------------------------\n"); log.Info("string parse:"); log.Write("--------------------------------------------------------\n"); tokens = new List<Token>(); testString = "-1.2ej"; tokenizer.Settings.DoUntermCheck = false; tokenizer.Settings.GrabWhitespace = false; if (!tokenizer.TokenizeString(testString, tokens)) { log.Error("Unable to parse into token vector."); return (false); } foreach (Token t in tokens) log.Info("Token = '{0}'", t.ToString()); tokens = new List<Token>(); // // try NextToken style // // log.Write("--------------------------------------------------------\n"); // log.Info("NextToken use"); // log.Write("--------------------------------------------------------\n"); //string fileName = "st-testSelf.tmp"; //testString = "this is a simple string"; //tokenizer.TextReader = new StringReader(testString); //tokenizer.TextReader = File.OpenText(fileName); //Token token; //while (tokenizer.NextToken(out token)) log.Info("Token = '{0}'", token); // // try TokenizeFile // log.Write("--------------------------------------------------------\n"); log.Info("Tokenize missing file"); log.Write("--------------------------------------------------------\n"); string nonExistentFileName = "ThisFile better not exist"; bool caughtIt = false; try { tokenizer.TokenizeFile(nonExistentFileName); } catch (FileNotFoundException e) { log.Info("Correctly caught exception: {0}: {1}", e.GetType().ToString(), e.Message); caughtIt = true; } if (!caughtIt) { log.Error("Didn't get a file not found exception from TokenizeFile."); return (false); } // // test line numbers in tokens // // done log.Info("Done."); return (true); }
/// <summary> /// Simple self test. /// </summary> /// <returns>bool - true for test passed, false otherwise</returns> public static bool TestSelf() { Logger log = new Logger("CharBuffer: TestSelf"); log.Info("Starting..."); // Append CharBuffer cb = new CharBuffer(); cb.Append('a'); cb.Append('b'); cb.Append('c'); log.Info("cb after Append: '{0}'", cb); if (cb[0] != 'a') { log.Error("Append or indexer failed."); return (false); } if (cb[1] != 'b') { log.Error("Append or indexer failed."); return (false); } if (cb[2] != 'c') { log.Error("Append or indexer failed."); return (false); } // Append string cb.Append("_hello"); log.Info("cb after Append string: '{0}'", cb); if (cb[4] != 'h') { log.Error("Append or indexer failed."); return (false); } // Clear cb.Clear(); if (cb.Length != 0) { log.Error("Clear failed."); return (false); } log.Info("cb after Clear: '{0}'", cb); // Grow cb = new CharBuffer(0); for (int i = 0; i < 33; i++) cb.Append('a'); log.Info("cb after Growth: '{0}'", cb); if (cb[32] != 'a') { log.Error("Append or indexer failed."); return (false); } // IndexOf cb.Clear(); cb.Append("This is a sentence"); if (cb.IndexOf('a') != 8) { log.Error("IndexOf failed."); return (false); } // remove cb.Remove(0); log.Info("cb after Remove: '{0}'", cb); if (cb.IndexOf('a') != 7) { log.Error("IndexOf failed."); return (false); } cb.Remove(1); log.Info("cb after Remove: '{0}'", cb); if (cb.IndexOf('i') != 3) { log.Error("IndexOf failed."); return (false); } cb.Remove(2, 4); log.Info("cb after Remove: '{0}'", cb); if (cb[4] != 's') { log.Error("IndexOf failed."); return (false); } // use as a ring log.Info("Test ring buffer:"); cb = new CharBuffer(16); for (int i = 0; i < 32; i++) { cb.Append("hello"); if (!cb.ToString().Equals("hello")) { log.Error("Not hello after append."); return (false); } cb.Remove(0, 5); if (cb.Length != 0) { log.Error("Len wrong after remove."); return (false); } } log.Info("Done."); return (true); }