public void TestNotEqual()
        {
            // Arrange
              var package1 = new Package() {
            Name = "A"
              };

              var package2 = new Package() {
            Name = "B"
              };

              // Act & Assert
              Assert.AreNotEqual(package1, package2);
        }
        public void TestEqualSameNameDifferentDependency()
        {
            // Arrange
              string packageName = "A",
              dependencyName = "B";

              var package1 = new Package() {
            Name = packageName,
            Dependency = new Package() {
              Name = dependencyName
            }
              };

              var package2 = new Package() {
            Name = packageName
              };

              // Act & Assert
              Assert.AreEqual(package1, package2);
        }
        public void TestToStringWithDependency()
        {
            // Arrange
              string packageName = "A",
              dependencyName = "B";

              var package = new Package() {
            Name = packageName,
            Dependency = new Package() {
              Name = dependencyName
            }
              };

              // Act
              var actual = package.ToString();

              // Assert
              Assert.AreEqual(actual, packageName + ":" + dependencyName);
        }
        public void TestToStringWithoutDependency()
        {
            // Arrange
              string packageName = "A";

              var package = new Package() {
            Name = packageName
              };

              // Act
              var actual = package.ToString();

              // Assert
              Assert.AreEqual(actual, packageName);
        }