public void WriteColumnFormatsXmlNullColumnFormatsTest( )
        {
            var       writerText = new StringBuilder( );
            XmlWriter writer     = XmlWriter.Create(writerText);

            FormattingRuleHelper.WriteColumnFormatsXml(null, writer);
        }
        public void WriteColumnFormatsXmlIconFormattingRuleNodeTest( )
        {
            #region Setup

            List <ColumnFormatting> originalColumnFormats = CreateTestIconFormattingRules( );

            #endregion

            #region Test

            var writerText = new StringBuilder( );
            using (XmlWriter writer = XmlWriter.Create(writerText, new XmlWriterSettings
            {
                OmitXmlDeclaration = true
            }))
            {
                FormattingRuleHelper.WriteColumnFormatsXml(originalColumnFormats, writer);
            }
            writerText.Insert(0, "<gridReportDataView>");
            writerText.Append("</gridReportDataView>");

            #endregion

            #region Validate

            var document = new XmlDocument( );
            document.LoadXml(writerText.ToString( ));

            IList <ColumnFormatting> newColumnFormats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            CompareColumnFormats(originalColumnFormats, newColumnFormats);

            #endregion
        }
        public void ReadColumnFormatsXmlImageFormattingRuleNodeTest()
        {
            #region Setup

            const string image = @"<gridReportDataView>
  <columnFormats>
	<columnFormat>
	  <queryColumnId>{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column1</columnName>
	  <type>Int32</type>
	  <showText>True</showText>
	  <imageFormattingRule>
         <thumbnailScaleId entityRef='true'>7969</thumbnailScaleId>
         <thumbnailSizeId entityRef='true'>11807</thumbnailSizeId>
      </imageFormattingRule>
	</columnFormat>
	<columnFormat>
	  <queryColumnId>{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column2</columnName>
	  <type>Identifier</type>
	  <showText>False</showText>
	  <imageFormattingRule>
         <thumbnailScaleId entityRef='true'>core:scaleImageProportionally</thumbnailScaleId>
         <thumbnailSizeId entityRef='true'>console:smallThumbnail</thumbnailSizeId>
      </imageFormattingRule>
	</columnFormat>
  </columnFormats>
</gridReportDataView>";

            #endregion

            #region Test

            var document = new XmlDocument();
            document.LoadXml(image);

            IList <ColumnFormatting> newColumnFormats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            #endregion

            #region Validate

            List <ColumnFormatting> originalColumnFormats = CreateTestImageFormattingRules();
            CompareColumnFormats(originalColumnFormats, newColumnFormats);

            #endregion
        }
        public void ReadColumnFormatsXmlColorFormattingRuleNoRulesTest( )
        {
            #region Setup

            const string image = @"<gridReportDataView>
	<columnFormats>
	  <columnFormat>
		<queryColumnId>{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
		<columnName>Test Column</columnName>
		<type>Int32</type>
		<showText>True</showText>
		<colorFormattingRule>        
		</colorFormattingRule>
	  </columnFormat>
   </columnFormats>
</gridReportDataView>";

            var document = new XmlDocument( );
            document.LoadXml(image);

            #endregion

            #region Test

            List <ColumnFormatting> formats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            #endregion

            #region Validate

            Assert.AreEqual(1, formats.Count, "The number of column formats is invalid.");
            Assert.AreEqual("Test Column", formats[0].ColumnName, "ColumnName is invalid.");
            Assert.AreEqual(new Guid("{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}"), formats[0].QueryColumnId, "QueryColumnId is invalid.");
            Assert.AreEqual(DatabaseType.Int32Type.GetType( ), formats[0].ColumnType.GetType( ), "ColumnType is invalid.");
            Assert.AreEqual(true, formats[0].ShowText, "ShowText is invalid.");
            Assert.IsNotNull(formats[0].FormattingRule, "FormattingRule is invalid.");

            var colorFormattingRule = formats[0].FormattingRule as ColorFormattingRule;
            Assert.IsNotNull(colorFormattingRule, "ColorFormattingRule is invalid.");
            Assert.AreEqual(0, colorFormattingRule.Rules.Count, "Rules count is invalid.");

            #endregion
        }
        public void ReadColumnFormatsXmlInvalidColumnFormatsTest( )
        {
            #region Setup

            const string image = @"<randomXml>    
</randomXml>";

            var document = new XmlDocument( );
            document.LoadXml(image);

            #endregion

            #region Test

            List <ColumnFormatting> formats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            #endregion

            #region Validate

            Assert.AreEqual(0, formats.Count, "The number of column formats is invalid.");

            #endregion
        }
 public void ReadColumnFormatsXmlNullNodeTest( )
 {
     FormattingRuleHelper.ReadColumnFormatsXml(null);
 }
        public void ReadColumnFormatsXmlIconFormattingRuleNodeTest( )
        {
            #region Setup

            const string image = @"<gridReportDataView>
  <columnFormats>
	<columnFormat>
	  <queryColumnId>{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column1</columnName>
	  <type>Int32</type>
	  <showText>True</showText>
	  <iconFormattingRule>
		<rules>
		  <rule>
			<color a='0' r='0' g='255' b='0' />
			<icon>Cross</icon>
			<condition>
			  <operator>LessThan</operator>
			  <columnName>Column1</columnName>
			  <type>Int32</type>
			  <arguments>
				<argument>
				  <type>Int32</type>
				  <value>20</value>
				</argument>
			  </arguments>
			</condition>
		  </rule>
		</rules>
	  </iconFormattingRule>
	</columnFormat>
	<columnFormat>
	  <queryColumnId>{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column2</columnName>
	  <type>Identifier</type>
	  <showText>False</showText>
	  <iconFormattingRule>
		<rules>
		  <rule>
			<color a='10' r='0' g='255' b='10' />
			<icon>Square</icon>
			<condition>
			  <operator>GreaterThanOrEqual</operator>
			  <columnName>Column2</columnName>
			  <type>Identifier</type>
			  <arguments>
				<argument>
				  <type>Identifier</type>
				  <value>100</value>
				</argument>
			  </arguments>
			</condition>
		  </rule>
		</rules>
	  </iconFormattingRule>
	</columnFormat>
  </columnFormats>
</gridReportDataView>";

            #endregion

            #region Test

            var document = new XmlDocument( );
            document.LoadXml(image);

            IList <ColumnFormatting> newColumnFormats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            #endregion

            #region Validate

            List <ColumnFormatting> originalColumnFormats = CreateTestIconFormattingRules( );
            CompareColumnFormats(originalColumnFormats, newColumnFormats);

            #endregion
        }
        public void ReadColumnFormatsXmlBarFormattingRuleNodeTest( )
        {
            #region Setup

            const string image = @"<gridReportDataView>
  <columnFormats>
	<columnFormat>
	  <queryColumnId>{7EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column1</columnName>
	  <type>Int32</type>
	  <showText>True</showText>
	  <barFormattingRule>
		<color a='0' r='0' g='255' b='0' />
		<minimum>
		  <type>Int32</type>
		  <value>0</value>
		</minimum>
		<maximum>
		  <type>Int32</type>
		  <value>100</value>
		</maximum>
	  </barFormattingRule>
	</columnFormat>
	<columnFormat>
	  <queryColumnId>{8EE81FB6-F037-4031-A2B0-D5E585B8BA4E}</queryColumnId>
	  <columnName>Column2</columnName>
	  <type>Identifier</type>
	  <showText>False</showText>
	  <barFormattingRule>
		<color a='0' r='100' g='0' b='0' />
		<minimum>
		  <type>Identifier</type>
		  <value>100</value>
		</minimum>
		<maximum>
		  <type>Identifier</type>
		  <value>1000</value>
		</maximum>
	  </barFormattingRule>
	</columnFormat>
  </columnFormats>
</gridReportDataView>";

            #endregion

            #region Test

            var document = new XmlDocument( );
            document.LoadXml(image);

            IList <ColumnFormatting> newColumnFormats = FormattingRuleHelper.ReadColumnFormatsXml(document.DocumentElement);

            #endregion

            #region Validate

            List <ColumnFormatting> originalColumnFormats = CreateTestBarFormattingRules( );
            CompareColumnFormats(originalColumnFormats, newColumnFormats);

            #endregion
        }
        public void WriteColumnFormatsXmlNullWriterTest( )
        {
            var columnFormats = new List <ColumnFormatting>( );

            FormattingRuleHelper.WriteColumnFormatsXml(columnFormats, null);
        }