public void TestAtTekstSetterRejserPropertyChangedVedOpdateringAfTekst(string propertyNameToRaise)
        {
            var fixture = new Fixture();

            var tabelModel = new MyTabelModel(fixture.Create <string>(), fixture.Create <string>());

            Assert.That(tabelModel, Is.Not.Null);

            var eventCalled = false;

            tabelModel.PropertyChanged += (s, e) =>
            {
                Assert.That(s, Is.Not.Null);
                Assert.That(e, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Empty);
                if (string.Compare(e.PropertyName, propertyNameToRaise, StringComparison.Ordinal) == 0)
                {
                    eventCalled = true;
                }
            };

            Assert.That(eventCalled, Is.False);
            tabelModel.Tekst = tabelModel.Tekst;
            Assert.That(eventCalled, Is.False);
            tabelModel.Tekst = fixture.Create <string>();
            Assert.That(eventCalled, Is.True);
        }
        public void TestAtTekstSetterKasterArgumentNullExceptionHvisValueErInvalid(string invalidValue)
        {
            var fixture = new Fixture();

            var tabelModel = new MyTabelModel(fixture.Create <string>(), fixture.Create <string>());

            Assert.That(tabelModel, Is.Not.Null);

            var exception = Assert.Throws <ArgumentNullException>(() => tabelModel.Tekst = invalidValue);

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Empty);
            Assert.That(exception.ParamName, Is.EqualTo("value"));
            Assert.That(exception.InnerException, Is.Null);
        }
        public void TestAtConstructorInitiererTabelModel()
        {
            var fixture = new Fixture();

            var id         = fixture.Create <string>();
            var tekst      = fixture.Create <string>();
            var tabelModel = new MyTabelModel(id, tekst);

            Assert.That(tabelModel, Is.Not.Null);
            Assert.That(tabelModel.Id, Is.Not.Null);
            Assert.That(tabelModel.Id, Is.Not.Empty);
            Assert.That(tabelModel.Id, Is.EqualTo(id));
            Assert.That(tabelModel.Tekst, Is.Not.Null);
            Assert.That(tabelModel.Tekst, Is.Not.Empty);
            Assert.That(tabelModel.Tekst, Is.EqualTo(tekst));
        }
        public void TestAtTekstSetterOpdatererTekst()
        {
            var fixture = new Fixture();

            var tabelModel = new MyTabelModel(fixture.Create <string>(), fixture.Create <string>());

            Assert.That(tabelModel, Is.Not.Null);

            var newValue = fixture.Create <string>();

            Assert.That(newValue, Is.Not.EqualTo(tabelModel.Tekst));

            tabelModel.Tekst = newValue;
            Assert.That(newValue, Is.Not.Null);
            Assert.That(newValue, Is.Not.Empty);
            Assert.That(newValue, Is.EqualTo(newValue));
        }