public void Clone_Always_ReturnNewInstanceWithCopiedValues()
        {
            // Setup
            var original = new TestTopLevelIllustrationPointBase(WindDirectionTestFactory.CreateTestWindDirection(),
                                                                 "Random closing situation");

            // Call
            object clone = original.Clone();

            // Assert
            CoreCloneAssert.AreObjectClones(original, clone, CommonCloneAssert.AreClones);
        }
        public void Constructor_ValidArguments_ReturnExpectedValues()
        {
            // Setup
            WindDirection windDirection    = WindDirectionTestFactory.CreateTestWindDirection();
            const string  closingSituation = "closing situation";

            // Call
            var topLevelIllustrationPoint = new TestTopLevelIllustrationPointBase(windDirection, closingSituation);

            // Assert
            Assert.IsInstanceOf <ICloneable>(topLevelIllustrationPoint);
            Assert.AreSame(windDirection, topLevelIllustrationPoint.WindDirection);
            Assert.AreEqual(closingSituation, topLevelIllustrationPoint.ClosingSituation);
        }