Exemple #1
0
        public void AddContainer_2NormalContainers6ValuableContainers1Gap()
        {
            // Arrange
            var mockedValuable = new Mock <IFreightContainer>();

            mockedValuable.Setup(mock => mock.Type).Returns(FreightType.Valuable);
            var mockedNormal = new Mock <IFreightContainer>();

            mockedNormal.Setup(mock => mock.Type).Returns(FreightType.Normal);

            var row = new FreightContainerRow(7);

            // Act
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddGapsToValuableContainers();

            row.AddContainer(mockedNormal.Object);
            row.AddContainer(mockedNormal.Object);

            // Assert
            Assert.AreEqual(1, row.Columns[0].Containers.Length);
            Assert.AreEqual(2, row.Columns[1].Containers.Length);
            Assert.AreEqual(1, row.Columns[2].Containers.Length);
            Assert.AreEqual(0, row.Columns[3].Containers.Length);
            Assert.AreEqual(1, row.Columns[4].Containers.Length);
            Assert.AreEqual(2, row.Columns[5].Containers.Length);
            Assert.AreEqual(1, row.Columns[6].Containers.Length);
        }
Exemple #2
0
        public void GetRequiredNormalContainers_1ValuableNoGaps_0()
        {
            // Arrange
            var mockedValuable = new Mock <IFreightContainer>();

            mockedValuable.Setup(mock => mock.Type).Returns(FreightType.Valuable);

            var row = new FreightContainerRow(1);

            row.AddContainer(mockedValuable.Object);

            // Act
            int required = row.GetRequiredNormalContainers();

            // Assert
            Assert.AreEqual(0, required);
        }
Exemple #3
0
        public void AddContainer_TooManyValuable_ThrowInvalidOperationException()
        {
            // Arrange
            var mockedValuable = new Mock <IFreightContainer>();

            mockedValuable.Setup(mock => mock.Type).Returns(FreightType.Valuable);
            var mockedNormal = new Mock <IFreightContainer>();

            mockedNormal.Setup(mock => mock.Type).Returns(FreightType.Normal);

            var row = new FreightContainerRow(3);

            // Act
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
        }