using System; using Util.Tests.Samples; using Xunit; namespace Util.Tests.Datas.Persistence { /// /// 持久化对象测试 /// public class PersistentObjectTest { /// /// 持久化对象测试样例 /// private PersistentObjectSample _sample; /// /// 持久化对象测试样例2 /// private PersistentObjectSample _sample2; /// /// 测试初始化 /// public PersistentObjectTest() { _sample = new PersistentObjectSample(); _sample2 = new PersistentObjectSample(); } /// /// 测试实体相等性 - 判空 /// [Fact] public void TestEquals_Null() { Assert.False( _sample.Equals( _sample2 ) ); Assert.False( _sample.Equals( null ) ); Assert.False( _sample == _sample2 ); Assert.False( _sample == null ); Assert.False( null == _sample2 ); Assert.True( _sample != _sample2 ); Assert.True( _sample != null ); Assert.True( null != _sample2 ); _sample2 = null; Assert.False( _sample.Equals( _sample2 ) ); _sample = null; Assert.True( _sample == _sample2 ); Assert.True( _sample2 == _sample ); } /// /// 测试实体相等性 - 类型无效 /// [Fact] public void TestEquals_InvalidType() { Guid id = Guid.NewGuid(); _sample = new PersistentObjectSample( id ); PersistentObjectSample2 sample2 = new PersistentObjectSample2( id ); Assert.False( _sample.Equals( sample2 ) ); Assert.True( _sample != sample2 ); Assert.True( sample2 != _sample ); } /// /// 测试实体相等性 - 当两个实体的标识相同,则实体相同 /// [Fact] public void TestEquals_IdEquals() { Guid id = Guid.NewGuid(); _sample = new PersistentObjectSample( id ); _sample2 = new PersistentObjectSample( id ); Assert.True( _sample.Equals( _sample2 ) ); Assert.True( _sample == _sample2 ); Assert.False( _sample != _sample2 ); } } }