public void ChildNodeObjects_Always_ReturnsCollectionWithOutputObjects(bool hasOutput)
        {
            // Setup
            var grassCoverErosionInwardsCalculation = new GrassCoverErosionInwardsCalculation
            {
                Output = hasOutput ? new TestGrassCoverErosionInwardsOutput() : null
            };
            var grassCoverErosionInwardsOutputContext = new GrassCoverErosionInwardsOutputContext(grassCoverErosionInwardsCalculation);

            // Call
            object[] children = info.ChildNodeObjects(grassCoverErosionInwardsOutputContext).ToArray();

            // Assert
            Assert.AreEqual(3, children.Length);

            var overtoppingOutputContext = children[0] as OvertoppingOutputContext;

            Assert.IsNotNull(overtoppingOutputContext);
            Assert.AreSame(grassCoverErosionInwardsCalculation, overtoppingOutputContext.WrappedData);

            var dikeHeightOutputContext = children[1] as DikeHeightOutputContext;

            Assert.IsNotNull(dikeHeightOutputContext);
            Assert.AreSame(grassCoverErosionInwardsCalculation, dikeHeightOutputContext.WrappedData);

            var overtoppingRateOutputContext = children[2] as OvertoppingRateOutputContext;

            Assert.IsNotNull(overtoppingRateOutputContext);
            Assert.AreSame(grassCoverErosionInwardsCalculation, overtoppingRateOutputContext.WrappedData);
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var calculation = new GrassCoverErosionInwardsCalculation();

            // Call
            var grassCoverErosionInwardsOutputContext = new GrassCoverErosionInwardsOutputContext(calculation);

            // Assert
            Assert.IsInstanceOf <ObservableWrappedObjectContextBase <GrassCoverErosionInwardsCalculation> >(grassCoverErosionInwardsOutputContext);
            Assert.AreSame(calculation, grassCoverErosionInwardsOutputContext.WrappedData);
        }