diff options
author | Tobias Brunner <tobias@strongswan.org> | 2017-06-22 11:23:25 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-07-03 10:27:52 +0200 |
commit | abf02a21762a51b9b8e2c95ff464c9e9c87f497b (patch) | |
tree | 27ea166d0d6387ff47623566f089d674517e919b | |
parent | a9875259e8c729057a7b6af178cd3fbe12275157 (diff) | |
download | strongswan-abf02a21762a51b9b8e2c95ff464c9e9c87f497b.tar.bz2 strongswan-abf02a21762a51b9b8e2c95ff464c9e9c87f497b.tar.xz |
android: Add ability to add a range set to another
-rw-r--r-- | src/frontends/android/app/src/main/java/org/strongswan/android/utils/IPRangeSet.java | 15 | ||||
-rw-r--r-- | src/frontends/android/app/src/test/java/org/strongswan/android/test/IPRangeSetTest.java | 27 |
2 files changed, 42 insertions, 0 deletions
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 @@ -85,6 +85,21 @@ public class IPRangeSet implements Iterable<IPRange> } /** + * 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. */ public void addAll(Collection<? extends IPRange> coll) 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 @@ -143,6 +143,33 @@ public class IPRangeSetTest } @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 { IPRangeSet set = new IPRangeSet(); |