From abf02a21762a51b9b8e2c95ff464c9e9c87f497b Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 22 Jun 2017 11:23:25 +0200 Subject: [PATCH] android: Add ability to add a range set to another --- .../strongswan/android/utils/IPRangeSet.java | 15 +++++++++++ .../android/test/IPRangeSetTest.java | 27 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/utils/IPRangeSet.java b/src/frontends/android/app/src/main/java/org/strongswan/android/utils/IPRangeSet.java index 3ced7bb82..d5f4b619f 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/utils/IPRangeSet.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/utils/IPRangeSet.java @@ -84,6 +84,21 @@ public class IPRangeSet implements Iterable } } + /** + * Add all ranges from the given set. + */ + public void add(IPRangeSet ranges) + { + if (ranges == this) + { + return; + } + for (IPRange range : ranges.mRanges) + { + add(range); + } + } + /** * Add all ranges from the given collection to this set. */ diff --git a/src/frontends/android/app/src/test/java/org/strongswan/android/test/IPRangeSetTest.java b/src/frontends/android/app/src/test/java/org/strongswan/android/test/IPRangeSetTest.java index 659525b59..3b054ceed 100644 --- a/src/frontends/android/app/src/test/java/org/strongswan/android/test/IPRangeSetTest.java +++ b/src/frontends/android/app/src/test/java/org/strongswan/android/test/IPRangeSetTest.java @@ -142,6 +142,33 @@ public class IPRangeSetTest new IPRange("255.255.255.255/32")); } + @Test + public void testAddSet() throws UnknownHostException + { + IPRangeSet set = new IPRangeSet(); + IPRangeSet other = new IPRangeSet(); + other.add(new IPRange("192.168.1.0/24")); + other.add(new IPRange("10.0.1.0/24")); + other.add(new IPRange("255.255.255.255/32")); + set.add(other); + assertEquals("size", 3, set.size()); + assertSubnets(set, new IPRange("10.0.1.0/24"), new IPRange("192.168.1.0/24"), + new IPRange("255.255.255.255/32")); + } + + @Test + public void testAddSetIdent() throws UnknownHostException + { + IPRangeSet set = new IPRangeSet(); + set.add(new IPRange("192.168.1.0/24")); + set.add(new IPRange("10.0.1.0/24")); + set.add(new IPRange("255.255.255.255/32")); + set.add(set); + assertEquals("size", 3, set.size()); + assertSubnets(set, new IPRange("10.0.1.0/24"), new IPRange("192.168.1.0/24"), + new IPRange("255.255.255.255/32")); + } + @Test public void testRemoveNothing() throws UnknownHostException {