public void Equals_IfStockSymbolIsNull_ReturnsFalse()
        {
            // Arrange
            var stock1 = new CommonStock();
            var stock2 = new PreferredStock();

            // Act
            var areEquals = stock1.Equals(stock2);

            // Assert
            Assert.False(areEquals);
        }
        public void Equals_WithOneObjectNotAStock_ReturnsFalse()
        {
            // Arrange
            var stock1 = new CommonStock {
                StockSymbol = "TEA"
            };
            var trade = new Trade();

            // Act
            var areEquals = stock1.Equals(trade);

            // Assert
            Assert.False(areEquals);
        }
        public void Equals_WithTwoStocksWithDifferentSymbol_ReturnsFalse()
        {
            // Arrange
            var stock1 = new CommonStock {
                StockSymbol = "TEA"
            };
            var stock2 = new CommonStock {
                StockSymbol = "TEB"
            };

            // Act
            var areEquals = stock1.Equals(stock2);

            // Assert
            Assert.False(areEquals);
        }
        public void Equals_WithTwoStocksWithSameSymbolOfDifferentSubtypes_ReturnsTrue()
        {
            // Arrange
            var stock1 = new CommonStock {
                StockSymbol = "TEA"
            };
            var stock2 = new PreferredStock {
                StockSymbol = "TEA"
            };

            // Act
            var areEquals = stock1.Equals(stock2);

            // Assert
            Assert.True(areEquals);
        }