diff options
| author | J08nY | 2018-04-25 00:10:00 +0200 |
|---|---|---|
| committer | J08nY | 2018-04-25 00:10:00 +0200 |
| commit | 6979f115f9a2f64d18cee4497f0dc2189266a17a (patch) | |
| tree | 71a153365f93fe18c3cd4b91420d1f7dee8ab293 /src/cz/crcs/ectester/data/EC_Store.java | |
| parent | 3f10cb4ba2fb9db1f1640ca68458a1283667930b (diff) | |
| download | ECTester-6979f115f9a2f64d18cee4497f0dc2189266a17a.tar.gz ECTester-6979f115f9a2f64d18cee4497f0dc2189266a17a.tar.zst ECTester-6979f115f9a2f64d18cee4497f0dc2189266a17a.zip | |
Sort tests better in a few test suites.
Diffstat (limited to 'src/cz/crcs/ectester/data/EC_Store.java')
| -rw-r--r-- | src/cz/crcs/ectester/data/EC_Store.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/cz/crcs/ectester/data/EC_Store.java b/src/cz/crcs/ectester/data/EC_Store.java index e4ba40c..426dcd9 100644 --- a/src/cz/crcs/ectester/data/EC_Store.java +++ b/src/cz/crcs/ectester/data/EC_Store.java @@ -21,9 +21,7 @@ import javax.xml.validation.SchemaFactory; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.Collections; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; /** * @author Jan Jancar johny@neuromancer.sk @@ -319,6 +317,21 @@ public class EC_Store { return getObject(objClass, query.substring(0, split), query.substring(split + 1)); } + public static <T extends EC_Key> List<Map.Entry<EC_Curve, List<T>>> mapToCurve(Collection<T> keys) { + Map<EC_Curve, List<T>> curves = new TreeMap<>(); + for (T key : keys) { + EC_Curve curve = EC_Store.getInstance().getObject(EC_Curve.class, key.getCurve()); + List<T> curveKeys = curves.getOrDefault(curve, new LinkedList<>()); + curveKeys.add(key); + curves.putIfAbsent(curve, curveKeys); + } + List<Map.Entry<EC_Curve, List<T>>> curveList = new LinkedList<>(); + curveList.addAll(curves.entrySet()); + Comparator<Map.Entry<EC_Curve, List<T>>> c = Comparator.comparing(o -> o.getKey().getBits()); + curveList.sort(c.thenComparing(b -> b.getKey().getId())); + return curveList; + } + public static EC_Store getInstance() { if (instance == null) { instance = new EC_Store(); |
