Security { public static String printLimitsViolations(Network network) { return printLimitsViolations(network, LimitViolationFilter.load()); } private  Security(); static List<LimitViolation> checkLimits(Network network); static List<LimitViolation> checkLimits(Network network, float limitReduction); static List<LimitViolation> checkLimits(Network network, CurrentLimitType currentLimitType, float limitReduction); static List<LimitViolation> checkLimits(Network network, Set<CurrentLimitType> currentLimitTypes, float limitReduction); static String printLimitsViolations(Network network); static String printLimitsViolations(Network network, boolean writeName); static String printLimitsViolations(Network network, LimitViolationFilter filter); static String printLimitsViolations(List<LimitViolation> violations, Network network); static String printLimitsViolations(List<LimitViolation> violations, Network network, LimitViolationFilter filter); static String printLimitsViolations(List<LimitViolation> violations, Network network, LimitViolationFilter filter, TableFormatterConfig formatterConfig); static String printLimitsViolations(List<LimitViolation> violations, Network network, LimitViolationWriteConfig printConfig); static void printPreContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                     LimitViolationFilter limitViolationFilter); static void printPreContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                     TableFormatterConfig formatterConfig, LimitViolationFilter limitViolationFilter); static void printPreContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                     LimitViolationWriteConfig printConfig); static void printPostContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
            LimitViolationFilter limitViolationFilter); static void printPostContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                      LimitViolationFilter limitViolationFilter, boolean filterPreContingencyViolations); static void printPostContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                      TableFormatterConfig formatterConfig, LimitViolationFilter limitViolationFilter, boolean filterPreContingencyViolations); static void printPostContingencyViolations(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory formatterFactory,
                                                      PostContingencyLimitViolationWriteConfig writeConfig); static void print(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory tableFormatterFactory, TableFormatterConfig tableFormatterConfig); static void print(SecurityAnalysisResult result, Network network, Writer writer, TableFormatterFactory tableFormatterFactory,
                             PostContingencyLimitViolationWriteConfig writeConfig);  }
@Test public void printLimitsViolations() throws Exception { assertEquals("+---------------+-------+---------+--------------+----------------+-----------------+-----------+----------+------------------+----------------+\n" + "| Equipment (2) | End | Country | Base voltage | Violation type | Violation name | Value | Limit | abs(value-limit) | Loading rate % |\n" + "+---------------+-------+---------+--------------+----------------+-----------------+-----------+----------+------------------+----------------+\n" + "| NHV1_NHV2_1 | VLHV1 | FR | 380 | CURRENT | Permanent limit | 1100.0000 | 950.0000 | 150.0000 | 110.00 |\n" + "| NHV1_NHV2_2 | VLHV1 | FR | 380 | CURRENT | Permanent limit | 950.0000 | 855.0000 | 95.0000 | 105.56 |\n" + "+---------------+-------+---------+--------------+----------------+-----------------+-----------+----------+------------------+----------------+", Security.printLimitsViolations(Arrays.asList(line1Violation, line2Violation), network, new LimitViolationFilter(), formatterConfig)); }