public void WideSelection() { CompositeFormatter compositeFormatter = new CompositeFormatter(); StubFormatter formatter = new StubFormatter(); compositeFormatter.AddFormatter(typeof(IList), formatter, true); Assert.IsNull(compositeFormatter.SelectFormatter(typeof(Guid))); Assert.AreSame(formatter, compositeFormatter.SelectFormatter(typeof(ArrayList))); Assert.AreSame(formatter, compositeFormatter.SelectFormatter(typeof(int[]))); }
public void StubFormatterCanUseBuiltInRules() { StubFormatter formatter = new StubFormatter(); // Just try a couple of basic types. Assert.AreEqual("\"abc\"", formatter.Format("abc")); Assert.AreEqual("1.2m", formatter.Format(1.2m)); Assert.AreEqual("'\\n'", formatter.Format('\n')); }
public void Will_write_the_header() { StubLanguageParser stubLanguageParser = new StubLanguageParser(); CodeColorizer codeColorizer = new CodeColorizer(stubLanguageParser); const string sourceCode = "fnord"; StubFormatter stubFormatter = new StubFormatter(); StubStyleSheet stubStyleSheet = new StubStyleSheet(); StubTextWriter stubTextWriter = new StubTextWriter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), stubFormatter, stubStyleSheet, stubTextWriter); Assert.Equal(stubTextWriter, stubFormatter.WriteHeader__textWriter); Assert.Equal(stubStyleSheet, stubFormatter.WriteHeader__styleSheet); }
public void Will_write_the_footer() { StubLanguageParser languageParser = new StubLanguageParser(); CodeColorizer codeColorizer = new CodeColorizer(languageParser); const string sourceCode = "fnord"; StubFormatter formatter = new StubFormatter(); StubStyleSheet styleSheet = new StubStyleSheet(); StubTextWriter writer = new StubTextWriter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), formatter, styleSheet, writer); Assert.Equal(writer, formatter.WriteFooter__writer); Assert.Equal(styleSheet, formatter.WriteFooter__styleSheet); }
public void Will_write_the_parsed_source_code() { StubLanguageParser languageParser = new StubLanguageParser(); languageParser.Parse__do = (sourceCodeToParse, language, parsedSourceCodeHandler) => { parsedSourceCodeHandler("parsedSourceCode1", new List <Scope>()); parsedSourceCodeHandler("parsedSourceCode2", new List <Scope>()); }; CodeColorizer codeColorizer = new CodeColorizer(languageParser); const string sourceCode = "fnord"; StubFormatter formatter = new StubFormatter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), formatter, new StubStyleSheet(), new StubTextWriter()); Assert.Equal("parsedSourceCode2", formatter.Write__parsedSourceCode.Pop()); Assert.Equal("parsedSourceCode1", formatter.Write__parsedSourceCode.Pop()); }
public void Will_write_the_parsed_source_code() { StubLanguageParser languageParser = new StubLanguageParser(); languageParser.Parse__do = (sourceCodeToParse, language, parsedSourceCodeHandler) => { parsedSourceCodeHandler("parsedSourceCode1", new List<Scope>()); parsedSourceCodeHandler("parsedSourceCode2", new List<Scope>()); }; CodeColorizer codeColorizer = new CodeColorizer(languageParser); const string sourceCode = "fnord"; StubFormatter formatter = new StubFormatter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), formatter, new StubStyleSheet(), new StubTextWriter()); Assert.Equal("parsedSourceCode2", formatter.Write__parsedSourceCode.Pop()); Assert.Equal("parsedSourceCode1", formatter.Write__parsedSourceCode.Pop()); }
public void Will_write_the_header() { StubLanguageParser stubLanguageParser = new StubLanguageParser(); CodeColorizer codeColorizer = new CodeColorizer(stubLanguageParser); const string sourceCode = "fnord"; StubFormatter stubFormatter = new StubFormatter(); StubStyleSheet stubStyleSheet = new StubStyleSheet(); StubTextWriter stubTextWriter = new StubTextWriter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), stubFormatter, stubStyleSheet, stubTextWriter); Assert.Equal(stubTextWriter, stubFormatter.WriteHeader__textWriter); Assert.Equal(stubStyleSheet, stubFormatter.WriteHeader__styleSheet); }
public void Will_write_the_footer() { StubLanguageParser languageParser = new StubLanguageParser(); CodeColorizer codeColorizer = new CodeColorizer(languageParser); const string sourceCode = "fnord"; StubFormatter formatter = new StubFormatter(); StubStyleSheet styleSheet = new StubStyleSheet(); StubTextWriter writer = new StubTextWriter(); codeColorizer.Colorize(sourceCode, new StubLanguage(), formatter, styleSheet, writer); Assert.Equal(writer, formatter.WriteFooter__writer); Assert.Equal(styleSheet, formatter.WriteFooter__styleSheet); }