public void WarningsTest_CheckCorrectCapacity()
        {
            // Verify no false-positives.
            var actual = StaticAnalysis.CheckCorrectCapacity(colonizationResearch, this.producers, this.snacksOnly, this.emptyContainers).ToList();

            Assert.AreEqual(0, actual.Count);

            // Verify if we need an excess, it gets reported
            this.producers.Add(new StubProducer(StubColonizationResearchScenario.Snacks, StubColonizationResearchScenario.Fertilizer, 3, TechTier.Tier1));
            actual = StaticAnalysis.CheckCorrectCapacity(colonizationResearch, this.producers, this.emptyContainers, this.emptyContainers).ToList();
            Assert.AreEqual(1, actual.Count);
            Assert.AreEqual($"The ship needs at least 9 production of {StubColonizationResearchScenario.Fertilizer.BaseName} but it is only producing 6", actual[0].Message);
            Assert.IsFalse(actual[0].IsClearlyBroken);
            Assert.IsNull(actual[0].FixIt);

            // Verify it catches missing stuff in storage - forget the fertilizer
            List <ITieredProducer> hydroProducers = new List <ITieredProducer>()
            {
                this.hydro1, this.hydro2
            };

            actual = StaticAnalysis.CheckCorrectCapacity(colonizationResearch, hydroProducers, this.snacksOnly, this.emptyContainers).ToList();
            Assert.AreEqual(1, actual.Count);
            Assert.AreEqual($"The ship needs {StubColonizationResearchScenario.Fertilizer.BaseName} to produce {StubColonizationResearchScenario.HydroponicSnacks.BaseName}", actual[0].Message);
            Assert.IsNull(actual[0].FixIt);
        }