public void TestCompositeConstruction() { BasicReactionSupporter brs = new BasicReactionSupporter(); InitializeForTesting(brs); MaterialCatalog cat = brs.MyMaterialCatalog; Mixture mixture = Mixture.Create(cat["Acetone"].CreateMass(100, 20), cat["Potassium Sulfate"].CreateMass(100, 20), cat["Ammonia"].CreateMass(100, 20)); Debug.WriteLine("Mixture has the following stuff..."); DiagnosticAids.DumpMaterial(mixture); Assert.IsTrue(mixture.Mass.Equals(300D), "Mixture is not 300 kg"); Debug.WriteLine("Removing 100 kg of Acetone."); IMaterial matl = mixture.RemoveMaterial(cat["Acetone"], 100); DiagnosticAids.DumpMaterial(matl); Assert.IsTrue(mixture.Mass.Equals(200D), "Mixture is not 200 kg"); Debug.WriteLine("Remaining is the following mixture:"); DiagnosticAids.DumpMaterial(mixture); }