예제 #1
0
        public void WithExpressionMutatesSelectedProperties()
        {
            var person = new PersonRecordImmutable
            {
                FirstName = "Damir",
                LastName  = "Arh",
            };

            var newPerson = person with {
                FirstName = "Damjan"
            };

            Assert.That(person.FirstName, Is.Not.EqualTo(newPerson.FirstName));
            Assert.That(person.LastName, Is.EqualTo(newPerson.LastName));
        }
    }
예제 #2
0
        public void RecordsUseValueEquality()
        {
            var person1 = new PersonRecordImmutable
            {
                FirstName = "Damir",
                LastName  = "Arh",
            };

            var person2 = new PersonRecordImmutable
            {
                FirstName = "Damir",
                LastName  = "Arh",
            };

            Assert.That(person1, Is.EqualTo(person2));
        }
예제 #3
0
        public void RuntimeTypeEquality()
        {
            PersonRecordImmutable person = new PersonRecordImmutable
            {
                FirstName = "Damir",
                LastName  = "Arh",
            };

            PersonRecordImmutable student = new StudentRecordImmutable
            {
                FirstName = "Damir",
                LastName  = "Arh",
            };

            Assert.That(person, Is.Not.EqualTo(student));
        }