Много време гледах какво може да не е наред и всичко изглеждаше добре. Това което ми дойде на ум е, че не следваш на 100% условието - нямаш метод на пица класа който да добавя топинг. Добавих такъв(той проверява за максимален брой на топингите също) и направих листа с топинги на пицата да се създава през конструктора когато се създава инстанция на класа Pizza.
Второ нещо което ми направи впечатление е, че ти първо четеш топингите и чак като изчетеш всички ги слагаш на пицата. Но какво ще стане ако са 50 броя? Има ли смисъл да четем 50-те като трябва още на 10 да спрем по условие? Промених и main метода следвайки това съображение и задачата проработи на 100: https://www.dropbox.com/s/eo12ab2t391jlex/Pizza2.zip?dl=0
Моето решение е близко до промененото твое и те съветвам да го погледнеш също: https://github.com/gaydov/Softuni-DB-Advanced/tree/master/2EncapsulationAndValidation/PizzaCalories
По логиката на извеждане на аутпута разбрах, че е по-добре да се откажа от конструктора, предвид това, че като четеш входа първо трябва да гърми за името на пицата, после за тестото и накрая за топингите. Също така трябва да подаваш параметрите за топинга с малки букви, но в съобщението за грешка да ги връщаш както са ти подадени, а не toLower. Аз го направих с няколко try/catch-a и поетапно добавяне на всяко пропърти на пицата. Има и още няколко дребни неща, ако искаш разгледай и моя код. :) https://github.com/DannyBerova/Databases-MSSQL-Server-2017-SoftUni/tree/master/DB-Advanced/OOPintro-EncapsulationAndValidation/Exerc-EncapsulationAndValidation/04.%20Pizza%20Calories