public void Should_extract_RawMaterialNames_from_configuration()
        {
            var pastasConfiguration = new[]
                                      {
                                          "gnocchi(eggs-potatoes-flour)",
                                          "spaghetti(eggs-flour)",
                                          "organic spaghetti(organic eggs-flour)",
                                          "spinach farfalle(eggs-flour-spinach)",
                                          "tagliatelle(eggs-flour)",
                                      };

            var pastaParser = new PastaRecipeParser(pastasConfiguration);
            Check.That(pastaParser.RawMaterialNames).ContainsExactly("eggs", "potatoes", "flour", "organic eggs", "spinach");
        }
        public void Should_extract_RawMaterialNames_from_configuration()
        {
            var pastasConfiguration = new[]
            {
                "gnocchi(eggs-potatoes-flour)",
                "spaghetti(eggs-flour)",
                "organic spaghetti(organic eggs-flour)",
                "spinach farfalle(eggs-flour-spinach)",
                "tagliatelle(eggs-flour)",
            };

            var pastaParser = new PastaRecipeParser(pastasConfiguration);

            Check.That(pastaParser.RawMaterialNames).ContainsExactly("eggs", "potatoes", "flour", "organic eggs", "spinach");
        }
        public void Should_provide_NeededRawMaterials_for_every_pasta()
        {
            var pastasConfiguration = new[]
            {
                "gnocchi(eggs-potatoes-flour)",
                "spaghetti(eggs-flour)",
                "organic spaghetti(organic eggs-flour)",
                "spinach farfalle(eggs-flour-spinach)",
                "tagliatelle(eggs-flour)",
            };

            var pastaParser = new PastaRecipeParser(pastasConfiguration);

            Check.That(pastaParser.GetNeededRawMaterialsFor("gnocchi")).ContainsExactly("eggs", "potatoes", "flour");
            Check.That(pastaParser.GetNeededRawMaterialsFor("spinach farfalle")).ContainsExactly("eggs", "flour", "spinach");
        }
        public void Should_provide_NeededRawMaterials_for_every_pasta()
        {
            var pastasConfiguration = new[]
                                      {
                                          "gnocchi(eggs-potatoes-flour)",
                                          "spaghetti(eggs-flour)",
                                          "organic spaghetti(organic eggs-flour)",
                                          "spinach farfalle(eggs-flour-spinach)",
                                          "tagliatelle(eggs-flour)",
                                      };

            var pastaParser = new PastaRecipeParser(pastasConfiguration);

            Check.That(pastaParser.GetNeededRawMaterialsFor("gnocchi")).ContainsExactly("eggs", "potatoes", "flour");
            Check.That(pastaParser.GetNeededRawMaterialsFor("spinach farfalle")).ContainsExactly("eggs", "flour", "spinach");
        }