/*
* Copyright 2011 Thomas Bocek
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package net.tomp2p.p2p;
import java.net.UnknownHostException;
import java.util.Random;
import net.tomp2p.Utils2;
import net.tomp2p.peers.Number160;
import net.tomp2p.peers.PeerAddress;
import net.tomp2p.peers.PeerMap;
import org.junit.Assert;
import org.junit.Test;
public class TestStatistics {
//TODO: enable this again
/*@Test
public void testCountPeers1() throws UnknownHostException {
Random rnd = new Random(42L);
Number160 n = new Number160(rnd);
PeerMap peerMapKadImpl = new PeerMap(n, 20, 50, 10, new int[0], 100, new DefaultMapAcceptHandler(false));
Statistics statistics = peerMapKadImpl.getStatistics();
for (int i = 0; i < 100; i++) {
PeerAddress pa = Utils2.createAddress(new Number160(rnd));
peerMapKadImpl.peerFound(pa, null);
}
Assert.assertEquals(100d, statistics.getEstimatedNumberOfNodes(), 0.01);
}
@Test
public void testCountPeers2() throws UnknownHostException {
Random rnd = new Random(42L);
Number160 n = new Number160(rnd);
PeerMap peerMapKadImpl = new PeerMap(n, 20, 50, 10, new int[0], 100, new DefaultMapAcceptHandler(false));
Statistics statistics = peerMapKadImpl.getStatistics();
for (int i = 0; i < 100; i++) {
PeerAddress pa = Utils2.createAddress(new Number160(rnd));
peerMapKadImpl.peerFound(pa, null);
}
Assert.assertEquals(100d, statistics.getEstimatedNumberOfNodes(), 0.01);
}
@Test
public void testNodesEstimation() throws UnknownHostException {
for (int j = 1; j < 5; j++) {
int maxNr = 10000 * j;
Random rnd = new Random(42L);
Number160 id = new Number160(rnd);
PeerMap kadRouting = new PeerMap(id, 20, 0, 0, new int[0], 0, new DefaultMapAcceptHandler(false));
Statistics statistics = kadRouting.getStatistics();
for (int i = 0; i < maxNr; i++) {
Number160 id1 = new Number160(rnd);
PeerAddress remoteNode1 = Utils2.createAddress(id1);
kadRouting.peerFound(remoteNode1, null);
}
double diff = (maxNr + 1) / statistics.getEstimatedNumberOfNodes();
// System.err.println("est:"+statistics.getEstimatedNumberOfNodes()+", real"+maxNr);
Assert.assertEquals(true, diff < 1.1 && diff > 0.9);
}
}*/
}