Example #1
0
        public CachedFormattingModeReader(IFormattingModeReader baseReader)
        {
            if (baseReader == null)
            {
                throw new ArgumentNullException("baseReader");
            }

            this.baseReader = baseReader;
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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;
        }
Example #5
0
        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());
        }