using ClosedXML.Excel; using NUnit.Framework; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ClosedXML_Tests.Excel.Styles { [TestFixture] public class StyleChangeTests { [Test] public void ChangeFontColorDoesNotAffectOtherProperties() { using (var wb = new XLWorkbook()) { // Arrange var ws = wb.AddWorksheet("Sheet1"); var a1 = ws.Cell("A1"); var a2 = ws.Cell("A2"); var b1 = ws.Cell("B1"); var b2 = ws.Cell("B2"); ws.Range("A1:B2").Value = "Test"; a1.Style.Fill.BackgroundColor = XLColor.Red; a2.Style.Fill.BackgroundColor = XLColor.Green; b1.Style.Fill.BackgroundColor = XLColor.Blue; b2.Style.Fill.BackgroundColor = XLColor.Pink; a1.Style.Font.FontName = "Arial"; a2.Style.Font.FontName = "Times New Roman"; b1.Style.Font.FontName = "Calibri"; b2.Style.Font.FontName = "Cambria"; // Act ws.Range("A1:B2").Style.Font.FontColor = XLColor.PowderBlue; //Assert Assert.AreEqual(XLColor.Red, ws.Cell("A1").Style.Fill.BackgroundColor); Assert.AreEqual(XLColor.Green, ws.Cell("A2").Style.Fill.BackgroundColor); Assert.AreEqual(XLColor.Blue, ws.Cell("B1").Style.Fill.BackgroundColor); Assert.AreEqual(XLColor.Pink, ws.Cell("B2").Style.Fill.BackgroundColor); Assert.AreEqual("Arial", ws.Cell("A1").Style.Font.FontName); Assert.AreEqual("Times New Roman", ws.Cell("A2").Style.Font.FontName); Assert.AreEqual("Calibri", ws.Cell("B1").Style.Font.FontName); Assert.AreEqual("Cambria", ws.Cell("B2").Style.Font.FontName); Assert.AreEqual(XLColor.PowderBlue, ws.Cell("A1").Style.Font.FontColor); Assert.AreEqual(XLColor.PowderBlue, ws.Cell("A2").Style.Font.FontColor); Assert.AreEqual(XLColor.PowderBlue, ws.Cell("B1").Style.Font.FontColor); Assert.AreEqual(XLColor.PowderBlue, ws.Cell("B2").Style.Font.FontColor); } } [Test] public void ChangeDetachedStyleAlignment() { var style = XLStyle.Default; style.Alignment.Horizontal = XLAlignmentHorizontalValues.Justify; Assert.AreEqual(XLAlignmentHorizontalValues.Justify, style.Alignment.Horizontal); } [Test] public void ChangeDetachedStyleBorder() { var style = XLStyle.Default; style.Border.DiagonalBorder = XLBorderStyleValues.Double; Assert.AreEqual(XLBorderStyleValues.Double, style.Border.DiagonalBorder); } [Test] public void ChangeDetachedStyleFill() { var style = XLStyle.Default; style.Fill.BackgroundColor = XLColor.Red; Assert.AreEqual(XLColor.Red, style.Fill.BackgroundColor); } [Test] public void ChangeDetachedStyleFont() { var style = XLStyle.Default; style.Font.FontSize = 50; Assert.AreEqual(50, style.Font.FontSize); } [Test] public void ChangeDetachedStyleNumberFormat() { var style = XLStyle.Default; style.NumberFormat.Format = "YYYY"; Assert.AreEqual("YYYY", style.NumberFormat.Format); } [Test] public void ChangeDetachedStyleProtection() { var style = XLStyle.Default; style.Protection.Hidden = true; Assert.AreEqual(true, style.Protection.Hidden); } [Test] public void ChangeAttachedStyleAlignment() { using (var wb = new XLWorkbook()) { var ws = wb.AddWorksheet("Sheet1"); var a1 = ws.Cell("A1"); a1.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Justify; Assert.AreEqual(XLAlignmentHorizontalValues.Justify, a1.Style.Alignment.Horizontal); } } } }