diff --git a/src/main/java/analyzer/AnalyzerRoot.java b/src/main/java/analyzer/AnalyzerRoot.java index 6e249ec3..edcb41e9 100644 --- a/src/main/java/analyzer/AnalyzerRoot.java +++ b/src/main/java/analyzer/AnalyzerRoot.java @@ -8,7 +8,6 @@ import analyzer.exercises.leap.LeapAnalyzer; import analyzer.exercises.loglevels.LogLevelsAnalyzer; import analyzer.exercises.needforspeed.NeedForSpeedAnalyzer; -import analyzer.exercises.salarycalculator.SalaryCalculatorAnalyzer; import analyzer.exercises.secrets.SecretsAnalyzer; import analyzer.exercises.twofer.TwoferAnalyzer; import analyzer.exercises.wizardsandwarriors.WizardsAndWarriorsAnalyzer; @@ -57,7 +56,6 @@ private static List createAnalyzers(String slug) { case "leap" -> analyzers.add(new LeapAnalyzer()); case "log-levels" -> analyzers.add(new LogLevelsAnalyzer()); case "need-for-speed" -> analyzers.add(new NeedForSpeedAnalyzer()); - case "salary-calculator" -> analyzers.add(new SalaryCalculatorAnalyzer()); case "secrets" -> analyzers.add(new SecretsAnalyzer()); case "two-fer" -> analyzers.add(new TwoferAnalyzer()); case "wizards-and-warriors" -> analyzers.add(new WizardsAndWarriorsAnalyzer()); diff --git a/src/main/java/analyzer/exercises/salarycalculator/SalaryCalculatorAnalyzer.java b/src/main/java/analyzer/exercises/salarycalculator/SalaryCalculatorAnalyzer.java deleted file mode 100644 index 539adc30..00000000 --- a/src/main/java/analyzer/exercises/salarycalculator/SalaryCalculatorAnalyzer.java +++ /dev/null @@ -1,73 +0,0 @@ -package analyzer.exercises.salarycalculator; - -import com.github.javaparser.ast.CompilationUnit; -import com.github.javaparser.ast.body.MethodDeclaration; -import com.github.javaparser.ast.expr.ConditionalExpr; -import com.github.javaparser.ast.expr.MethodCallExpr; -import com.github.javaparser.ast.visitor.VoidVisitorAdapter; - -import analyzer.Analyzer; -import analyzer.OutputCollector; -import analyzer.Solution; -import analyzer.comments.ExemplarSolution; -import analyzer.comments.ReuseCode; - -/** - * The {@link SalaryCalculatorAnalyzer} is the analyzer implementation for the {@code salary-calculator} practice exercise. - * It extends from the {@link VoidVisitorAdapter} and uses the visitor pattern to traverse each compilation unit. - * - * @see The salary-calculator exercise on the Java track - */ -public class SalaryCalculatorAnalyzer extends VoidVisitorAdapter implements Analyzer { - private static final String EXERCISE_NAME = "Salary Calculator"; - private static final String SALARY_MULTIPLIER = "salaryMultiplier"; - private static final String BONUS_MULTIPLIER = "bonusMultiplier"; - private static final String FINAL_SALARY = "finalSalary"; - private static final String BONUS_FOR_PRODUCTS_SOLD = "bonusForProductsSold"; - private boolean essentialCommentAdded = false; - - @Override - public void analyze(Solution solution, OutputCollector output) { - for (CompilationUnit compilationUnit : solution.getCompilationUnits()) { - compilationUnit.accept(this, output); - } - - if (output.getComments().isEmpty()) { - output.addComment(new ExemplarSolution(EXERCISE_NAME)); - } - } - - @Override - public void visit(MethodDeclaration node, OutputCollector output) { - if (!essentialCommentAdded && isMethodThatMustContainTernaryOperators(node) && doesNotHasTernaryOperators(node)) { - output.addComment(new UseTernaryOperators(node.getNameAsString())); - essentialCommentAdded = true; - } - - if (!essentialCommentAdded && node.getNameAsString().equals(BONUS_FOR_PRODUCTS_SOLD) && doesNotCallMethod(node, BONUS_MULTIPLIER)) { - output.addComment(new ReuseCode(BONUS_FOR_PRODUCTS_SOLD, BONUS_MULTIPLIER)); - } - - if (!essentialCommentAdded && node.getNameAsString().equals(FINAL_SALARY) && doesNotCallMethod(node, SALARY_MULTIPLIER)) { - output.addComment(new ReuseCode(FINAL_SALARY, SALARY_MULTIPLIER)); - } - - if (!essentialCommentAdded && node.getNameAsString().equals(FINAL_SALARY) && doesNotCallMethod(node, BONUS_FOR_PRODUCTS_SOLD)) { - output.addComment(new ReuseCode(FINAL_SALARY, BONUS_FOR_PRODUCTS_SOLD)); - } - - super.visit(node, output); - } - - private static boolean isMethodThatMustContainTernaryOperators(MethodDeclaration node) { - return node.getNameAsString().equals(SALARY_MULTIPLIER) || node.getNameAsString().equals(BONUS_MULTIPLIER) || node.getNameAsString().equals(FINAL_SALARY); - } - - private static boolean doesNotHasTernaryOperators(MethodDeclaration node) { - return node.findAll(ConditionalExpr.class).isEmpty(); - } - - private static boolean doesNotCallMethod(MethodDeclaration node, String otherMethodName) { - return node.findAll(MethodCallExpr.class, x -> x.getNameAsString().contains(otherMethodName)).isEmpty(); - } -} diff --git a/src/main/java/analyzer/exercises/salarycalculator/UseTernaryOperators.java b/src/main/java/analyzer/exercises/salarycalculator/UseTernaryOperators.java deleted file mode 100644 index 56f012c8..00000000 --- a/src/main/java/analyzer/exercises/salarycalculator/UseTernaryOperators.java +++ /dev/null @@ -1,32 +0,0 @@ -package analyzer.exercises.salarycalculator; - -import java.util.Map; - -import analyzer.Comment; - -/** - * @see Markdown Template - */ -class UseTernaryOperators extends Comment { - private final String inMethod; - - public UseTernaryOperators(String inMethod) { - this.inMethod = inMethod; - } - - @Override - public String getKey() { - return "java.salary-calculator.use_ternary_operators"; - } - - @Override - public Map getParameters() { - return Map.of( - "inMethod", this.inMethod); - } - - @Override - public Type getType() { - return Type.ESSENTIAL; - } -} diff --git a/src/test/java/analyzer/AnalyzerIntegrationTest.java b/src/test/java/analyzer/AnalyzerIntegrationTest.java index 110d0592..bdb15d7c 100644 --- a/src/test/java/analyzer/AnalyzerIntegrationTest.java +++ b/src/test/java/analyzer/AnalyzerIntegrationTest.java @@ -184,25 +184,4 @@ void wizardsandwarriors(String scenario) throws IOException { Approvals.verify(serialize(output.analysis()), Approvals.NAMES.withParameters(scenario)); } - - @ParameterizedTest - @ValueSource(strings = { - "ExemplarSolution", - "NoReuseBonusForProductsSold", - "NoReuseBonusMultiplier", - "NoReuseSalaryMultiplier", - "NotReusingMethodsAtAll", - "NotUsingTernaryOperatorsAndNotReusingMethods", - "NotUsingTernaryOperatorsAtAll", - "NotUsingTernaryOperatorsOnBonusMultiplier", - "NotUsingTernaryOperatorsOnFinalSalary", - "NotUsingTernaryOperatorsOnSalaryMultiplier" - }) - void salarycalculator(String scenario) throws IOException { - var path = Path.of("salary-calculator", scenario + ".java"); - var solution = new SolutionFromFiles("salary-calculator", SCENARIOS.resolve(path)); - var output = AnalyzerRoot.analyze(solution); - - Approvals.verify(serialize(output.analysis()), Approvals.NAMES.withParameters(scenario)); - } } diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.ExemplarSolution.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.ExemplarSolution.approved.txt deleted file mode 100644 index dba7ced3..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.ExemplarSolution.approved.txt +++ /dev/null @@ -1,11 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.exemplar", - "params": { - "exerciseName": "Salary Calculator" - }, - "type": "celebratory" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusForProductsSold.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusForProductsSold.approved.txt deleted file mode 100644 index 20831be3..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusForProductsSold.approved.txt +++ /dev/null @@ -1,17 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "finalSalary", - "methodToCall": "bonusForProductsSold" - }, - "type": "actionable" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusMultiplier.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusMultiplier.approved.txt deleted file mode 100644 index 5f299486..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseBonusMultiplier.approved.txt +++ /dev/null @@ -1,17 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "bonusForProductsSold", - "methodToCall": "bonusMultiplier" - }, - "type": "actionable" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseSalaryMultiplier.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseSalaryMultiplier.approved.txt deleted file mode 100644 index 195e970a..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NoReuseSalaryMultiplier.approved.txt +++ /dev/null @@ -1,17 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "finalSalary", - "methodToCall": "salaryMultiplier" - }, - "type": "actionable" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotReusingMethodsAtAll.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotReusingMethodsAtAll.approved.txt deleted file mode 100644 index cdb0ad6d..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotReusingMethodsAtAll.approved.txt +++ /dev/null @@ -1,33 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "bonusForProductsSold", - "methodToCall": "bonusMultiplier" - }, - "type": "actionable" - }, - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "finalSalary", - "methodToCall": "salaryMultiplier" - }, - "type": "actionable" - }, - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "finalSalary", - "methodToCall": "bonusForProductsSold" - }, - "type": "actionable" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAndNotReusingMethods.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAndNotReusingMethods.approved.txt deleted file mode 100644 index d4d31109..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAndNotReusingMethods.approved.txt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "salaryMultiplier" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAtAll.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAtAll.approved.txt deleted file mode 100644 index d4d31109..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsAtAll.approved.txt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "salaryMultiplier" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnBonusMultiplier.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnBonusMultiplier.approved.txt deleted file mode 100644 index 7d2fd3a5..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnBonusMultiplier.approved.txt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "bonusMultiplier" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnFinalSalary.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnFinalSalary.approved.txt deleted file mode 100644 index 9f626e31..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnFinalSalary.approved.txt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "finalSalary" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnSalaryMultiplier.approved.txt b/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnSalaryMultiplier.approved.txt deleted file mode 100644 index d4d31109..00000000 --- a/src/test/resources/analyzer/AnalyzerIntegrationTest.salarycalculator.NotUsingTernaryOperatorsOnSalaryMultiplier.approved.txt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "salaryMultiplier" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/scenarios/salary-calculator/ExemplarSolution.java b/src/test/resources/scenarios/salary-calculator/ExemplarSolution.java deleted file mode 100644 index 92ffc941..00000000 --- a/src/test/resources/scenarios/salary-calculator/ExemplarSolution.java +++ /dev/null @@ -1,21 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NoReuseBonusForProductsSold.java b/src/test/resources/scenarios/salary-calculator/NoReuseBonusForProductsSold.java deleted file mode 100644 index f3bca2b5..00000000 --- a/src/test/resources/scenarios/salary-calculator/NoReuseBonusForProductsSold.java +++ /dev/null @@ -1,21 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + productsSold * bonusMultiplier(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NoReuseBonusMultiplier.java b/src/test/resources/scenarios/salary-calculator/NoReuseBonusMultiplier.java deleted file mode 100644 index ac8a0cc8..00000000 --- a/src/test/resources/scenarios/salary-calculator/NoReuseBonusMultiplier.java +++ /dev/null @@ -1,22 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - int multiplier = productsSold < 20 ? 10 : 13; - return productsSold * multiplier; - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NoReuseSalaryMultiplier.java b/src/test/resources/scenarios/salary-calculator/NoReuseSalaryMultiplier.java deleted file mode 100644 index 8f8d8cb2..00000000 --- a/src/test/resources/scenarios/salary-calculator/NoReuseSalaryMultiplier.java +++ /dev/null @@ -1,23 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double skipped = daysSkipped < 5 ? 1 : 0.85; - - double finalSalary = 1000.0 * skipped + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotReusingMethodsAtAll.java b/src/test/resources/scenarios/salary-calculator/NotReusingMethodsAtAll.java deleted file mode 100644 index ce160328..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotReusingMethodsAtAll.java +++ /dev/null @@ -1,26 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - int multiplier = productsSold < 20 ? 10 : 13; - - return productsSold * multiplier; - } - - public double finalSalary (int daysSkipped, int productsSold) { - int multiplier = productsSold < 20 ? 10 : 13; - double skipped = daysSkipped < 5 ? 1 : 0.85; - double finalSalary = 1000.0 * skipped + productsSold * multiplier; - - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAndNotReusingMethods.java b/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAndNotReusingMethods.java deleted file mode 100644 index 96371951..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAndNotReusingMethods.java +++ /dev/null @@ -1,27 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - if (daysSkipped < 5) { - return 1; - } - - return 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - int multiplier = productsSold < 20 ? 10 : 13; - - return productsSold * multiplier; - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAtAll.java b/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAtAll.java deleted file mode 100644 index 59a46b19..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsAtAll.java +++ /dev/null @@ -1,34 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - if (daysSkipped < 5) { - return 1; - } - - return 0.85; - } - - public int bonusMultiplier(int productsSold) { - if (productsSold < 20) { - return 10; - } - - return 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - - if (finalSalary > 2000.0) { - return 2000.0; - } - - return finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnBonusMultiplier.java b/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnBonusMultiplier.java deleted file mode 100644 index 6c2970aa..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnBonusMultiplier.java +++ /dev/null @@ -1,25 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - if (productsSold < 20) { - return 10; - } - - return 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnFinalSalary.java b/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnFinalSalary.java deleted file mode 100644 index 3dfc9cb2..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnFinalSalary.java +++ /dev/null @@ -1,26 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - - if (finalSalary > 2000.0) { - return 2000.0; - } - - return finalSalary; - } -} diff --git a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnSalaryMultiplier.java b/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnSalaryMultiplier.java deleted file mode 100644 index dbeae627..00000000 --- a/src/test/resources/scenarios/salary-calculator/NotUsingTernaryOperatorsOnSalaryMultiplier.java +++ /dev/null @@ -1,25 +0,0 @@ -package scenarios.salarycalculator; - -public class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - if (daysSkipped < 5) { - return 1; - } - - return 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/tests/salary-calculator/exemplar-solution/.meta/config.json b/tests/salary-calculator/exemplar-solution/.meta/config.json deleted file mode 100644 index eef2753c..00000000 --- a/tests/salary-calculator/exemplar-solution/.meta/config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "authors": [ - "TalesDias" - ], - "contributors": [ - "smicaliz" - ], - "files": { - "solution": [ - "src/main/java/SalaryCalculator.java" - ], - "test": [ - "src/test/java/SalaryCalculatorTest.java" - ], - "exemplar": [ - ".meta/src/reference/java/SalaryCalculator.java" - ], - "invalidator": [ - "build.gradle" - ] - }, - "blurb": "Learn about ternary operators by calculating salaries." -} \ No newline at end of file diff --git a/tests/salary-calculator/exemplar-solution/expected_analysis.json b/tests/salary-calculator/exemplar-solution/expected_analysis.json deleted file mode 100644 index f98bd2a9..00000000 --- a/tests/salary-calculator/exemplar-solution/expected_analysis.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.exemplar", - "params": { - "exerciseName": "Salary Calculator" - }, - "type": "celebratory" - } - ] -} \ No newline at end of file diff --git a/tests/salary-calculator/exemplar-solution/expected_tags.json b/tests/salary-calculator/exemplar-solution/expected_tags.json deleted file mode 100644 index eb25b190..00000000 --- a/tests/salary-calculator/exemplar-solution/expected_tags.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "tags": [] -} \ No newline at end of file diff --git a/tests/salary-calculator/exemplar-solution/src/main/java/SalaryCalculator.java b/tests/salary-calculator/exemplar-solution/src/main/java/SalaryCalculator.java deleted file mode 100644 index f72ed849..00000000 --- a/tests/salary-calculator/exemplar-solution/src/main/java/SalaryCalculator.java +++ /dev/null @@ -1,19 +0,0 @@ -class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/tests/salary-calculator/no-reuse-code/.meta/config.json b/tests/salary-calculator/no-reuse-code/.meta/config.json deleted file mode 100644 index eef2753c..00000000 --- a/tests/salary-calculator/no-reuse-code/.meta/config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "authors": [ - "TalesDias" - ], - "contributors": [ - "smicaliz" - ], - "files": { - "solution": [ - "src/main/java/SalaryCalculator.java" - ], - "test": [ - "src/test/java/SalaryCalculatorTest.java" - ], - "exemplar": [ - ".meta/src/reference/java/SalaryCalculator.java" - ], - "invalidator": [ - "build.gradle" - ] - }, - "blurb": "Learn about ternary operators by calculating salaries." -} \ No newline at end of file diff --git a/tests/salary-calculator/no-reuse-code/expected_analysis.json b/tests/salary-calculator/no-reuse-code/expected_analysis.json deleted file mode 100644 index 62fbcc77..00000000 --- a/tests/salary-calculator/no-reuse-code/expected_analysis.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "comments": [ - { - "comment": "java.general.reuse_code", - "params": { - "callingMethod": "bonusForProductsSold", - "methodToCall": "bonusMultiplier" - }, - "type": "actionable" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/tests/salary-calculator/no-reuse-code/expected_tags.json b/tests/salary-calculator/no-reuse-code/expected_tags.json deleted file mode 100644 index eb25b190..00000000 --- a/tests/salary-calculator/no-reuse-code/expected_tags.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "tags": [] -} \ No newline at end of file diff --git a/tests/salary-calculator/no-reuse-code/src/main/java/SalaryCalculator.java b/tests/salary-calculator/no-reuse-code/src/main/java/SalaryCalculator.java deleted file mode 100644 index 714c3f7f..00000000 --- a/tests/salary-calculator/no-reuse-code/src/main/java/SalaryCalculator.java +++ /dev/null @@ -1,21 +0,0 @@ -class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - return daysSkipped < 5 ? 1 : 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - int multiplier = productsSold < 20 ? 10 : 13; - - return productsSold * multiplier; - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -} diff --git a/tests/salary-calculator/no-ternary-operators-used/.meta/config.json b/tests/salary-calculator/no-ternary-operators-used/.meta/config.json deleted file mode 100644 index eef2753c..00000000 --- a/tests/salary-calculator/no-ternary-operators-used/.meta/config.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "authors": [ - "TalesDias" - ], - "contributors": [ - "smicaliz" - ], - "files": { - "solution": [ - "src/main/java/SalaryCalculator.java" - ], - "test": [ - "src/test/java/SalaryCalculatorTest.java" - ], - "exemplar": [ - ".meta/src/reference/java/SalaryCalculator.java" - ], - "invalidator": [ - "build.gradle" - ] - }, - "blurb": "Learn about ternary operators by calculating salaries." -} \ No newline at end of file diff --git a/tests/salary-calculator/no-ternary-operators-used/expected_analysis.json b/tests/salary-calculator/no-ternary-operators-used/expected_analysis.json deleted file mode 100644 index 20e3da34..00000000 --- a/tests/salary-calculator/no-ternary-operators-used/expected_analysis.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "comments": [ - { - "comment": "java.salary-calculator.use_ternary_operators", - "params": { - "inMethod": "salaryMultiplier" - }, - "type": "essential" - }, - { - "comment": "java.general.feedback_request", - "params": {}, - "type": "informative" - } - ] -} \ No newline at end of file diff --git a/tests/salary-calculator/no-ternary-operators-used/expected_tags.json b/tests/salary-calculator/no-ternary-operators-used/expected_tags.json deleted file mode 100644 index eb25b190..00000000 --- a/tests/salary-calculator/no-ternary-operators-used/expected_tags.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "tags": [] -} \ No newline at end of file diff --git a/tests/salary-calculator/no-ternary-operators-used/src/main/java/SalaryCalculator.java b/tests/salary-calculator/no-ternary-operators-used/src/main/java/SalaryCalculator.java deleted file mode 100644 index 8014440d..00000000 --- a/tests/salary-calculator/no-ternary-operators-used/src/main/java/SalaryCalculator.java +++ /dev/null @@ -1,23 +0,0 @@ -class SalaryCalculator { - - public double salaryMultiplier(int daysSkipped) { - if (daysSkipped < 5) { - return 1; - } - - return 0.85; - } - - public int bonusMultiplier(int productsSold) { - return productsSold < 20 ? 10 : 13; - } - - public double bonusForProductsSold (int productsSold) { - return productsSold * bonusMultiplier(productsSold); - } - - public double finalSalary (int daysSkipped, int productsSold) { - double finalSalary = 1000.0 * salaryMultiplier(daysSkipped) + bonusForProductsSold(productsSold); - return finalSalary > 2000.0 ? 2000.0 : finalSalary; - } -}