Skip to content

Commit 73e5dc9

Browse files
committed
Add 2 new functions: NewConditionalStyle and SetConditionalFormat
- Update unit test
1 parent 67b80fa commit 73e5dc9

File tree

4 files changed

+722
-0
lines changed

4 files changed

+722
-0
lines changed

Excelize.Tests/UnitTest.cs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,50 @@ public void TestCellRichText()
693693
Assert.Empty(f.Close());
694694
}
695695

696+
[Fact]
697+
public void TestConditionalFormat()
698+
{
699+
File f = Excelize.NewFile();
700+
Assert.Null(
701+
Record.Exception(() =>
702+
{
703+
int format = f.NewConditionalStyle(
704+
new Style
705+
{
706+
Font = new Font { Color = "9A0511" },
707+
Fill = new Fill
708+
{
709+
Type = "pattern",
710+
Color = new string[] { "FEC7CE" },
711+
Pattern = 1,
712+
},
713+
}
714+
);
715+
f.SetConditionalFormat(
716+
"Sheet1",
717+
"A1:A10",
718+
new ConditionalFormatOptions[]
719+
{
720+
new ConditionalFormatOptions
721+
{
722+
Type = "cell",
723+
Criteria = "between",
724+
Format = format,
725+
MinValue = "6",
726+
MaxValue = "8",
727+
},
728+
}
729+
);
730+
})
731+
);
732+
RuntimeError err = Assert.Throws<RuntimeError>(() =>
733+
f.SetConditionalFormat("SheetN", "A1", new ConditionalFormatOptions[] { })
734+
);
735+
Assert.Equal("sheet SheetN does not exist", err.Message);
736+
Assert.Null(Record.Exception(() => f.SaveAs("TestConditionalFormat.xlsx")));
737+
Assert.Empty(f.Close());
738+
}
739+
696740
[Fact]
697741
public void TestCoordinates()
698742
{
@@ -1322,6 +1366,8 @@ public void TestStyle()
13221366
Assert.Equal(expected, err.Message);
13231367
err = Assert.Throws<RuntimeError>(() => f.MoveSheet("Sheet2", "Sheet1"));
13241368
Assert.Equal(expected, err.Message);
1369+
err = Assert.Throws<RuntimeError>(() => f.NewConditionalStyle(new Style()));
1370+
Assert.Equal(expected, err.Message);
13251371
err = Assert.Throws<RuntimeError>(() => f.NewSheet("Sheet1"));
13261372
Assert.Equal(expected, err.Message);
13271373
err = Assert.Throws<RuntimeError>(() => f.NewStyle(s));
@@ -1364,6 +1410,10 @@ public void TestStyle()
13641410
Assert.Equal(expected, err.Message);
13651411
err = Assert.Throws<RuntimeError>(() => f.SetColWidth("Sheet1", "A", "H", 20));
13661412
Assert.Equal(expected, err.Message);
1413+
err = Assert.Throws<RuntimeError>(() =>
1414+
f.SetConditionalFormat("Sheet1", "A1:A10", new ConditionalFormatOptions[] { })
1415+
);
1416+
Assert.Equal(expected, err.Message);
13671417
err = Assert.Throws<RuntimeError>(() => f.SetSheetName("Sheet1", "Sheet2"));
13681418
Assert.Equal(expected, err.Message);
13691419
err = Assert.Throws<RuntimeError>(() =>

0 commit comments

Comments
 (0)