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);
}
}
}
}