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); }