public void ShouldRefreshErrorsAndIsValidWhenRejectingChanges()
        {
            var wrapper = new SentenceWrapper(sentence);

            Assert.IsTrue(wrapper.IsValid);
            Assert.IsFalse(wrapper.HasErrors);

            wrapper.Attributes.Single(a => a.DisplayName == "Parser").Value = string.Empty;
            Assert.IsFalse(wrapper.IsValid);
            Assert.IsTrue(wrapper.HasErrors);

            wrapper.RejectChanges();

            Assert.IsTrue(wrapper.IsValid);
            Assert.IsFalse(wrapper.HasErrors);
        }
        public void ShouldRejectChanges()
        {
            var wrapper = new SentenceWrapper(sentence);

            wrapper.Attributes.Single(a => a.Name == "Parser").Value = "new value";

            Assert.AreEqual("new value", wrapper.Attributes.Single(a => a.Name == "Parser").Value);
            Assert.AreEqual(parserValue, wrapper.Attributes.Single(a => a.Name == "Parser").ValueOriginalValue);
            Assert.IsTrue(wrapper.Attributes.Single(a => a.Name == "Parser").ValueIsChanged);
            Assert.IsTrue(wrapper.IsChanged);

            wrapper.RejectChanges();

            Assert.AreEqual(parserValue, wrapper.Attributes.Single(a => a.Name == "Parser").Value);
            Assert.AreEqual(parserValue, wrapper.Attributes.Single(a => a.Name == "Parser").ValueOriginalValue);
            Assert.IsFalse(wrapper.Attributes.Single(a => a.Name == "Parser").ValueIsChanged);
            Assert.IsFalse(wrapper.IsChanged);
        }