public static void evaluate(EndpointRuleSet ruleset, EndpointTestCase testCase) {
        Map<Identifier, Value> parameters = new LinkedHashMap<>();
        for (Map.Entry<StringNode, Node> entry : testCase.getParams().getMembers().entrySet()) {
            parameters.put(Identifier.of(entry.getKey()), Value.fromNode(entry.getValue()));
        }
        Value result = RuleEvaluator.evaluate(ruleset, parameters);

        StringBuilder messageBuilder = new StringBuilder("while executing test case");
        if (testCase.getDocumentation().isPresent()) {
            messageBuilder.append(" ").append(testCase.getDocumentation().get());
        }
        RuleError.context(messageBuilder.toString(), testCase, () -> evaluateExpectation(testCase.getExpect(), result));
    }
Evaluate the given rule-set and test case. Throws an exception in the event
the test case does not pass.

@param ruleset  The rule-set to be tested.
@param testCase The test case.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/evaluation/TestEvaluator.java