public void ShouldInitializeAddressProperty()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsNotNull(wrapper.TestFriendAddress);
            Assert.AreEqual(_testFriend.TestFriendAddress, wrapper.TestFriendAddress.Model);
        }
Example #2
0
        public void ShouldSetValueOfUnderlyingModelProperty()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            wrapper.FirstName = "Julia";
            Assert.AreEqual("Julia", _testFriend.FirstName);
        }
Example #3
0
        public void ShouldBeInSyncAfterClearingEmails()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            wrapper.Emails.Clear();
            CheckIfModelEmailsCollectionIsInSync(wrapper);
        }
Example #4
0
        public void ShouldRaisePropertyChangedEventForIsValidOfRootWhenRemovingInvalidItem()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.Emails.First().Email = ""));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.Emails.Remove(wrapper.Emails.First())));
        }
Example #5
0
        public void ShouldInitializeEmailsProperty()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsNotNull(wrapper.Emails);
            CheckIfModelEmailsCollectionIsInSync(wrapper);
        }
        public void NavigationCollectionPropertiesTest()
        {
            TestFriendGroup group = new TestFriendGroup {
                Id = 1, Name = "group1", FriendTests = new List <TestFriend>()
            };
            TestFriend testFriend = new TestFriend
            {
                FirstName         = "Thomas",
                TestFriendAddress = new TestFriendAddress {
                    City = "CityOld"
                },
                TestFriendGroup = group,
                Emails          = new List <TestFriendEmail>()
            };

            group.FriendTests.Add(testFriend);

            TestFriendWrapper wrapper = new TestFriendWrapper(testFriend);

            Assert.IsFalse(wrapper.IsChanged);

            var old = wrapper.TestFriendAddress;

            wrapper.TestFriendAddress = new TestFriendAddressWrapper(new TestFriendAddress {
                City = "CityNew"
            });
            Assert.IsTrue(wrapper.IsChanged);

            //wrapper.Test_FriendAddress = old;
            //Assert.IsFalse(wrapper.IsChanged);
        }
Example #7
0
        public void ShouldRaisePropertyChangedEventForIsValidOfRoot()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.Emails.First().Email = ""));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.Emails.First().Email = "*****@*****.**"));
        }
Example #8
0
        public void ShouldIntializeWithoutProblems()
        {
            _testFriend.IsDeveloper = true;
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.IsValid);
        }
Example #9
0
        public void ShouldRaiseErrorsChangedEventWhenFirstNameIsSetToEmptyAndBack()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.FirstName), () => wrapper.FirstName = ""));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.FirstName), () => wrapper.FirstName = "Julia"));
        }
Example #10
0
        public void ShouldBeInSyncAfterAddingEmail()
        {
            _testFriend.Emails.Remove(_testFriendEmail);
            var wrapper = new TestFriendWrapper(_testFriend);

            wrapper.Emails.Add(new TestFriendEmailWrapper(_testFriendEmail));
            CheckIfModelEmailsCollectionIsInSync(wrapper);
        }
Example #11
0
        public void ShouldBeInSyncAfterRemovingEmail()
        {
            var wrapper       = new TestFriendWrapper(_testFriend);
            var emailToRemove = wrapper.Emails.Single(ew => Equals(ew.Model, _testFriendEmail));

            wrapper.Emails.Remove(emailToRemove);
            CheckIfModelEmailsCollectionIsInSync(wrapper);
        }
Example #12
0
        public void ShouldRaisePropertyChangedEventForIsValid()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.FirstName = ""));

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.FirstName = "Julia"));
        }
        public void ShouldRaisePropertyChangedEventForIsValidOfRoot()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.TestFriendAddress.City = ""));

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.TestFriendAddress.City = "Salt Lake City"));
        }
Example #14
0
        public void ShouldRaisePropertyChangedEventForIsValidOfRootWhenAddingInvalidItem()
        {
            var wrapper    = new TestFriendWrapper(_testFriend);
            var emailToAdd = new TestFriendEmailWrapper(new TestFriendEmail());

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => wrapper.Emails.Add(emailToAdd)));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsValid), () => emailToAdd.Email = "*****@*****.**"));
        }
Example #15
0
        public void ShouldSetIsValidOfRootWhenInitializing()
        {
            _testFriend.Emails.First().Email = "";
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsFalse(wrapper.IsValid);
            Assert.IsFalse(wrapper.HasErrors);
            Assert.IsTrue(wrapper.Emails.First().HasErrors);
        }
        public void ShouldStoreOriginalValue()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.AreEqual("Thomas", wrapper.FirstNameOriginalValue);

            wrapper.FirstName = "Julia";
            Assert.AreEqual("Thomas", wrapper.FirstNameOriginalValue);
        }
        public void ShouldAcceptChangesOfComplexProperties()
        {
            var wrapper = new TestFriendWrapper(_testFriend);
            var address = new TestFriendAddress();

            wrapper.TestFriendAddress = new TestFriendAddressWrapper(address);
            wrapper.AcceptChanges();
            Assert.AreEqual(wrapper.Model.TestFriendAddress, address);
        }
        public void ShouldRaisePropertyChangedEventForChangeOrRemovePropertyOfFriendTestWrapper()
        {
            var wrapper       = new TestFriendWrapper(_testFriend);
            var originAddress = wrapper.TestFriendAddress;

            Assert.IsFalse(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => wrapper.TestFriendAddress = originAddress));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => wrapper.TestFriendAddress  = new TestFriendAddressWrapper(new TestFriendAddress())));
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => wrapper.TestFriendAddress  = null));
        }
        public void ShouldInitializeComplexProperty()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.AreEqual(wrapper.TestFriendAddress.Model, _testFriend.TestFriendAddress);

            _testFriend.TestFriendAddress = null;
            wrapper = new TestFriendWrapper(_testFriend);
            Assert.AreEqual(wrapper.TestFriendAddress, null);
        }
        public void ShouldSetIsValidOfRootAfterInitialization()
        {
            _testFriend.TestFriendAddress.City = "";
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsFalse(wrapper.IsValid);

            wrapper.TestFriendAddress.City = "Salt Lake City";
            Assert.IsTrue(wrapper.IsValid);
        }
Example #21
0
        public void ShouldSetIsChangedOfFriendTestWrapper()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            wrapper.TestFriendAddress.City = "Salt Lake City";
            Assert.IsTrue(wrapper.IsChanged);

            wrapper.TestFriendAddress.City = "Müllheim";
            Assert.IsFalse(wrapper.IsChanged);
        }
Example #22
0
        public void ShouldSetIsValidOfRootWhenAddingInvalidItem()
        {
            var emailToAdd = new TestFriendEmailWrapper(new TestFriendEmail());
            var wrapper    = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.IsValid);;
            wrapper.Emails.Add(emailToAdd);
            Assert.IsFalse(wrapper.IsValid);
            emailToAdd.Email = "*****@*****.**";
            Assert.IsTrue(wrapper.IsValid);
        }
Example #23
0
        public void ShouldSetIsValidOfRoot()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.IsValid);

            wrapper.Emails.First().Email = "";
            Assert.IsFalse(wrapper.IsValid);

            wrapper.Emails.First().Email = "*****@*****.**";
            Assert.IsTrue(wrapper.IsValid);
        }
Example #24
0
        public void ShouldSetIsValid()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.IsValid);

            wrapper.FirstName = "";
            Assert.IsFalse(wrapper.IsValid);

            wrapper.FirstName = "Julia";
            Assert.IsTrue(wrapper.IsValid);
        }
Example #25
0
        public void ShouldSetIsValidOfRootWhenRemovingInvalidItem()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.IsValid);

            wrapper.Emails.First().Email = "";
            Assert.IsFalse(wrapper.IsValid);

            wrapper.Emails.Remove(wrapper.Emails.First());
            Assert.IsTrue(wrapper.IsValid);
        }
        public void ModelAndWrapperComplexPropertiesInSync()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.AreEqual(wrapper.TestFriendAddress.Model, _testFriend.TestFriendAddress);

            wrapper.TestFriendAddress = new TestFriendAddressWrapper(new TestFriendAddress());
            Assert.AreEqual(wrapper.TestFriendAddress.Model, _testFriend.TestFriendAddress);

            wrapper.TestFriendAddress = null;
            Assert.AreEqual(null, _testFriend.TestFriendAddress);
        }
        public void ShouldRaisePropertyChangedEventForIsChangedPropertyOfFriendTestWrapper()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => wrapper.TestFriendAddress.City = "Salt Lake City"));

            var originAddress = wrapper.TestFriendAddress;

            wrapper.TestFriendAddress = new TestFriendAddressWrapper(new TestFriendAddress());
            Assert.IsTrue(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => wrapper.TestFriendAddress.City = "Yekaterinburg"));
            Assert.IsFalse(wrapper.PropertyChangedEventRised(nameof(wrapper.IsChanged), () => originAddress.City            = "Yekaterinburg"));
        }
Example #28
0
        public void ShouldSetIsChangedOfFriendTestWrapper()
        {
            var wrapper       = new TestFriendWrapper(_testFriend);
            var emailToModify = wrapper.Emails.First();

            emailToModify.Email = "*****@*****.**";

            Assert.IsTrue(wrapper.IsChanged);

            emailToModify.Email = "*****@*****.**";
            Assert.IsFalse(wrapper.IsChanged);
        }
Example #29
0
 public void ShouldThrowArgumentNullExceptionIfModelIsNull()
 {
     try
     {
         var wrapper = new TestFriendWrapper(null);
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual(nameof(TestFriendWrapper.Model), ex.ParamName);
         throw;
     }
 }
Example #30
0
        public void ShouldRejectChanges()
        {
            var wrapper = new TestFriendWrapper(_testFriend);

            wrapper.TestFriendAddress.City = "Salt Lake City";
            Assert.AreEqual("Müllheim", wrapper.TestFriendAddress.CityOriginalValue);

            wrapper.RejectChanges();

            Assert.IsFalse(wrapper.IsChanged);
            Assert.AreEqual("Müllheim", wrapper.TestFriendAddress.City);
            Assert.AreEqual("Müllheim", wrapper.TestFriendAddress.CityOriginalValue);
        }