예제 #1
0
        public void Equals_QuandoTotalmentePopulado_DeveSerConsideradoIgual()
        {
            // Arrange
            TesteValueObject valor1 = new TesteValueObject("um", "dois", "três", 1, 2, 3);
            TesteValueObject valor2 = new TesteValueObject("um", "dois", "três", 1, 2, 3);

            // Act
            bool igual = valor1.Equals(valor2);

            // Assert
            Assert.True(igual);
        }
예제 #2
0
        public void Equals_QuandoNaoPopulado_DeveSerConsideradoIgual()
        {
            // Arrange
            TesteValueObject valor1 = new TesteValueObject();
            TesteValueObject valor2 = new TesteValueObject();

            // Act
            bool igual = valor1.Equals(valor2);

            // Assert
            Assert.True(igual);
        }
예제 #3
0
        public void GetHashCode_QuandoObjetosSaoDiferentes_DeveGerarHashCodeDiferentes()
        {
            // Arrange
            var valor1 = new TesteValueObject("um", "dois", "três", 1, 2, 3);
            var valor2 = new TesteValueObject("hum", "dois", "três", 1, 2, 3);

            // Act
            var hashcode1 = valor1.GetHashCode();
            var hashcode2 = valor2.GetHashCode();

            // Assert
            Assert.NotEqual(hashcode1, hashcode2);
        }
예제 #4
0
        public void GetHashCode_QuandoObjetosSaoIguais_DeveGerarMesmoHashCode()
        {
            // Arrange
            var valor1 = new TesteValueObject("um", "dois", "três", 1, 2, 3);
            var valor2 = new TesteValueObject("um", "dois", "três", 1, 2, 3);

            // Act
            var hashcode1 = valor1.GetHashCode();
            var hashcode2 = valor2.GetHashCode();

            // Assert
            Assert.Equal(hashcode1, hashcode2);
        }
예제 #5
0
        public void Equals_QuandoUmNaoEhPopulado_E_OutroEhPopulado_DeveSerConsideradoDiferente()
        {
            // Arrange
            var valor1 = new TesteValueObject();
            var valor2 = new TesteValueObject
            {
                CampoPublico = 2
            };

            // Act
            bool igual = valor1.Equals(valor2);

            // Assert
            Assert.False(igual);
        }
예제 #6
0
        public void Equals_QuandoParcialmentePopulado_DeveSerConsideradoIgual()
        {
            // Arrange
            TesteValueObject valor1 = new TesteValueObject();
            TesteValueObject valor2 = new TesteValueObject();

            valor1.CampoPublico       = 1;
            valor1.PropriedadePublica = "teste";
            valor2.CampoPublico       = 1;
            valor2.PropriedadePublica = "teste";

            // Act
            bool igual = valor1.Equals(valor2);

            // Assert
            Assert.True(igual);
        }