예제 #1
0
        public void ApplyTo_WhenEqualPlainObjects_ThenSuccess()
        {
            var expected = new Plain() { Id = 1, Name = "Two" };
            var actual = new Plain() { Id = 1, Name = "Two" };
            Assert.That(actual, Is.Not.SameAs(expected));

            var constraint = new TwinConstraint(expected);
            var result = constraint.ApplyTo(actual) as TwinConstraintResult;
            Assert.That(result, Is.Not.Null);
            Assert.That(result.IsSuccess, Is.True);
            Assert.That(result.Members.Count(), Is.EqualTo(2));
        }
예제 #2
0
        public void ApplyTo_WhenDifferentPlainObjects_ThenFailed()
        {
            var expected = new Plain() { Id = 1, Name = "Two" };
            var actual = new Plain() { Id = 2, Name = "One" };

            var constraint = new TwinConstraint(expected);
            var result = constraint.ApplyTo(actual) as TwinConstraintResult;
            Assert.That(result, Is.Not.Null);
            Assert.That(!result.IsSuccess);
            Assert.That(result.IsSuccess, Is.False);
            Assert.That(result.Members.Count(), Is.EqualTo(2));
        }
예제 #3
0
 public void ApplyTo_WhenEqualPrimitiveTypes_ThenSuccess()
 {
     var constraint = new TwinConstraint(1);
     var result = constraint.ApplyTo(1);
     Assert.That(result.IsSuccess);
 }
예제 #4
0
 public void ApplyTo_WhenDifferentPrimitiveTypes_ThenFailed()
 {
     var constraint = new TwinConstraint(1);
     var result = constraint.ApplyTo(2);
     Assert.That(!result.IsSuccess);
 }
예제 #5
0
        public void ApplyTo_WhenManualSkipDifferentId_ThenSuccess()
        {
            var selector = new ManualMemberSelector<Complex>()
            {
                item => item.Name,
                item => item.Detail
            };

            var expected = CreateComplexOne();
            var actual = CreateComplexOne();
            expected.Id = 100;
            actual.Id = 200;

            var constraint = new TwinConstraint(expected).Using(selector);
            var result = constraint.ApplyTo(actual) as TwinConstraintResult;
            Assert.That(result.IsSuccess, Is.True);
            Assert.That(result.Members.Count(), Is.EqualTo(2));
        }
예제 #6
0
        public void ApplyTo_WhenDetailPropertyIsNull_ThenFailed()
        {
            var expected = CreateComplexOne();
            var actual = CreateComplexOne();
            actual.Detail = null;

            var constraint = new TwinConstraint(expected);
            var result = constraint.ApplyTo(actual) as TwinConstraintResult;
            Assert.That(result.IsSuccess, Is.False);
            Assert.That(result.Members.Count(), Is.EqualTo(3));
        }
예제 #7
0
        public void ApplyTo_WhenDifferentComplexObjects_ThenFailed()
        {
            var expected = CreateComplexOne();
            var actual = CreateComplexTwo();

            var constraint = new TwinConstraint(expected);
            var result = constraint.ApplyTo(actual) as TwinConstraintResult;
            Assert.That(result.IsSuccess, Is.False);
            Assert.That(result.Members.Count(), Is.EqualTo(3));
        }
예제 #8
0
        public void ApplyTo_WhenEqualComplexObjects_ThenSuccess()
        {
            var expected = CreateComplexOne();
            var actual = CreateComplexOne();

            Assert.That(actual, Is.Not.SameAs(expected));

            var constraint = new TwinConstraint(expected);
            var result = constraint.ApplyTo(actual);
            Assert.That(result.IsSuccess, Is.True);
        }