From: Tobias Brunner Date: Thu, 22 Jun 2017 09:23:25 +0000 (+0200) Subject: android: Add ability to add a range set to another X-Git-Tag: 5.6.0dr1~24^2~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=abf02a21762a51b9b8e2c95ff464c9e9c87f497b;p=thirdparty%2Fstrongswan.git android: Add ability to add a range set to another --- 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 3ced7bb828..d5f4b619f3 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 659525b59f..3b054ceed2 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 {