public CachedFormattingModeReader(IFormattingModeReader baseReader) { if (baseReader == null) { throw new ArgumentNullException("baseReader"); } this.baseReader = baseReader; }
public void ReadModePropertyInfo_CallsTheBaseReaderAtMostOnce() { // Arrange IFormattingModeReader baseReader = Substitute.For <IFormattingModeReader>(); IFormattingModeReader reader = new CachedFormattingModeReader(baseReader); // Act reader.ReadMode(TestProperty); reader.ReadMode(TestProperty); reader.ReadMode(TestProperty); // Assert baseReader.Received(1).ReadMode(TestProperty); }
public void ReadModePropertyInfo_ReturnsTheResultOfTheBaseReader() { // Arrange IFormattingModeReader baseReader = Substitute.For <IFormattingModeReader>(); baseReader.ReadMode(TestProperty).Returns(FormattingMode.ItemsMembers); IFormattingModeReader reader = new CachedFormattingModeReader(baseReader); // Act FormattingMode mode = reader.ReadMode(TestProperty); // Assert Assert.AreEqual(FormattingMode.ItemsMembers, mode); }
public ParameterFormatter(IFormattingModeReader reader, IFormatProvider formatProvider, ICustomValueFormatter customValueFormatter = null) { if (reader == null) { throw new ArgumentNullException("reader"); } if (formatProvider == null) { throw new ArgumentNullException("formatProvider"); } this.reader = reader; this.formatProvider = formatProvider; this.customValueFormatter = customValueFormatter; }
private static void TestFormatter(object value, FormattingMode mode, string expectedOutput, IFormatProvider formatProvider = null, ICustomValueFormatter customValueFormatter = null) { // Arrange IFormattingModeReader reader = Substitute.For <IFormattingModeReader>(); reader.ReadMode(TestParameter).Returns(mode); IParameterFormatter formatter = new ParameterFormatter(reader, formatProvider ?? CultureInfo.InvariantCulture, customValueFormatter); StringBuilder sb = new StringBuilder(); // Act formatter.Serialize(sb, value, TestParameter); // Assert Assert.AreEqual(expectedOutput, sb.ToString()); }