using System; using Util.Tools.Offices.Core; using Xunit; namespace Util.Tools.Offices.Tests.Integration.Core { /// /// 单元格测试 /// public class CellTest { /// /// 单元格 /// private readonly Cell _cell; /// /// 测试初始化 /// public CellTest() { _cell = new Cell( "a" ) { Row = new Row( 2 ) }; } /// /// 测试值 /// [Fact] public void TestValue() { Assert.Equal( "a",_cell.Value.ToString() ); } /// /// 验证行为空时获取行索引 /// [Fact] public void TestRowIndex_Validate_RowIsNull() { Assert.Throws( () => { _cell.Row = null; var index = _cell.RowIndex; } ); } /// /// 测试行索引 /// [Fact] public void TestRowIndex() { Assert.Equal( 2, _cell.RowIndex ); } /// /// 测试列索引 /// [Fact] public void TestColumnIndex() { Assert.Equal( 0,_cell.ColumnIndex ); } /// /// 测试结束行索引 /// [Fact] public void TestEndRowIndex() { Assert.Equal( 2, _cell.EndRowIndex ); _cell.RowSpan = 2; Assert.Equal( 3, _cell.EndRowIndex ); _cell.RowSpan = 0; Assert.Equal( 2, _cell.EndRowIndex ); _cell.RowSpan = -1; Assert.Equal( 2, _cell.EndRowIndex ); } /// /// 测试结束列索引 /// [Fact] public void TestEndColumnIndex() { Assert.Equal( 0, _cell.EndColumnIndex ); _cell.ColumnSpan = 2; Assert.Equal( 1, _cell.EndColumnIndex ); _cell.ColumnSpan = 0; Assert.Equal( 0, _cell.EndColumnIndex ); _cell.ColumnSpan = -1; Assert.Equal( 0, _cell.EndColumnIndex ); } /// /// 测试是否需要合并 /// [Fact] public void TestNeedMerge() { Assert.False( _cell.NeedMerge ); _cell.RowSpan = 2; Assert.True( _cell.NeedMerge, "RowSpan = 2" ); _cell.RowSpan = 1; _cell.ColumnSpan = 2; Assert.True( _cell.NeedMerge, "ColumnSpan = 2" ); _cell.RowSpan = 2; _cell.ColumnSpan = 2; Assert.True( _cell.NeedMerge, "RowSpan = 2 && ColumnSpan = 2" ); } } }