using System;
using System.Collections.Generic;
using System.Text;
[Serializable]
public class ColumnDataField
{
#region Fields
private int _columnIndex;
private string _dataFields;
#endregion Fields
#region Properties
/// <summary>
/// Column index
/// </summary>
public int ColumnIndex
{
get { return _columnIndex; }
set { _columnIndex = value; }
}
/// <summary>
/// Data fields
/// </summary>
public string DataFields
{
get { return _dataFields; }
set { _dataFields = value; }
}
/// <summary>
/// Convert DataFields string to data field list
/// </summary>
internal List<String> DataFieldList
{
get
{
if (string.IsNullOrWhiteSpace(DataFields)) return new List<String>();
string[] _array = DataFields.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
List<String> _fields = new List<String>(_array);
for (int _i = _fields.Count - 1; _i >= 0; _i--)
{
_fields[_i] = _fields[_i].Trim();
if (string.IsNullOrWhiteSpace(_fields[_i])) _fields.RemoveAt(_i);
}
return _fields;
}
set
{
StringBuilder _buffer = new StringBuilder();
foreach (string _field in value)
{
if (_buffer.Length > 0) _buffer.Append(",");
_buffer.Append(_field);
}
DataFields = _buffer.ToString();
}
}
#endregion Properties
}
}
私は C# のインターン ユニット テストを行っているので、気楽にやってください。
他のプロジェクトではそれほど多くの問題はありませんでしたが、内部リストを単体テストする方法がわかりません。
これは、これまでの単体テスト用のコードです。
[TestMethod]
public void DataFields_Test()
{
ColumnDataField questionText = new ColumnDataField();
questionText.DataFields = "test";
string expected = "test";
string actual = questionText.DataFields;
Assert.AreEqual(expected, actual);
}
したがって、DataFields プロパティが実行されますが、それ以外のコードは実行されません。私はこれを行うための最良の方法を見つけようとして、何日もオンラインで検索してきました. 何をすべきかを正確に伝える必要はありませんが、ガイダンスをいただければ幸いです。