public void EqualsReturnsTrueForSameIdentifier()
        {
            var item1 = new ItemStatus();
            var item2 = item1.Clone();

            Assert.IsTrue(item1.Equals(item2));
        }
        public void CloneGeneratesANewIdenticialInstance()
        {
            var item          = new ItemStatus();
            var theName       = "myItemName";
            var theDesc       = "A description";
            var theError      = "any error here";
            var theStatus     = ItemBuildStatus.CompletedFailed;
            var startTime     = new DateTime(2010, 1, 1, 12, 12, 12);
            var completedTime = new DateTime(2010, 1, 1, 13, 12, 12);
            var estimatedTime = new DateTime(2010, 1, 1, 14, 12, 12);
            var aChild        = new ItemStatus("aChild");

            item.Name                      = theName;
            item.Description               = theDesc;
            item.Error                     = theError;
            item.Status                    = theStatus;
            item.TimeStarted               = startTime;
            item.TimeCompleted             = completedTime;
            item.TimeOfEstimatedCompletion = estimatedTime;
            item.ChildItems.Add(aChild);
            var clone = item.Clone();

            Assert.AreEqual(theName, clone.Name);
            Assert.AreEqual(theDesc, clone.Description);
            Assert.AreEqual(theError, clone.Error);
            Assert.AreEqual(theStatus, clone.Status);
            Assert.AreEqual(startTime, clone.TimeStarted);
            Assert.AreEqual(completedTime, clone.TimeCompleted);
            Assert.AreEqual(estimatedTime, clone.TimeOfEstimatedCompletion);
            Assert.AreEqual(item.Identifier, clone.Identifier);
            Assert.AreEqual(1, clone.ChildItems.Count);
            Assert.AreEqual("aChild", clone.ChildItems[0].Name);
            Assert.AreEqual(aChild.Identifier, clone.ChildItems[0].Identifier);
        }