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

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

            var row = new FreightContainerRow(11);

            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.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);

            // Act
            row.AddGapsToValuableContainers();

            // Assert
            Assert.AreEqual(1, row.Columns[0].Containers.Length);
            Assert.AreEqual(1, 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(1, row.Columns[5].Containers.Length);
            Assert.AreEqual(1, row.Columns[6].Containers.Length);
            Assert.AreEqual(0, row.Columns[7].Containers.Length);
            Assert.AreEqual(1, row.Columns[8].Containers.Length);
            Assert.AreEqual(1, row.Columns[9].Containers.Length);
            Assert.AreEqual(1, row.Columns[10].Containers.Length);
        }
Exemple #2
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);
        }
Exemple #3
0
        public void GetRequiredNormalContainers_2ValuableNoGaps_0()
        {
            // Arrange
            var mockedValuable = new Mock <IFreightContainer>();

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

            var row = new FreightContainerRow(2);

            row.AddContainer(mockedValuable.Object);
            row.AddContainer(mockedValuable.Object);

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

            // Assert
            Assert.AreEqual(0, required);
        }
Exemple #4
0
        public void AddContainer_1NormalContainers3ValuableContainersNoGaps()
        {
            // 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(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);
        }