parent
3f75b3a2c5
commit
3c8c6a7a14
@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||||
|
*
|
||||||
|
* 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 com.alibaba.nacos.common.utils;
|
||||||
|
|
||||||
|
import com.alibaba.nacos.common.utils.to.User;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ByteUtils Test.
|
||||||
|
* @ClassName: ByteUtilsTest
|
||||||
|
* @Author: ChenHao26
|
||||||
|
* @Date: 2022/8/22 10:58
|
||||||
|
*/
|
||||||
|
public class ByteUtilsTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void objectToByte() {
|
||||||
|
User user = new User(1, "google");
|
||||||
|
byte[] bytes = ByteUtils.toBytes(user);
|
||||||
|
Assert.assertNotNull(bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void stringToByte() {
|
||||||
|
byte[] bytes = ByteUtils.toBytes("google");
|
||||||
|
Assert.assertNotNull(bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void toStringTest() {
|
||||||
|
byte[] bytes = ByteUtils.toBytes("google");
|
||||||
|
String str = ByteUtils.toString(bytes);
|
||||||
|
Assert.assertEquals(str, "google");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isEmpty() {
|
||||||
|
byte[] bytes = ByteUtils.toBytes("");
|
||||||
|
Assert.assertTrue(ByteUtils.isEmpty(bytes));
|
||||||
|
byte[] byte2 = new byte[1024];
|
||||||
|
Assert.assertFalse(ByteUtils.isEmpty(byte2));
|
||||||
|
byte[] byte3 = null;
|
||||||
|
Assert.assertTrue(ByteUtils.isEmpty(byte3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isNotEmpty() {
|
||||||
|
byte[] bytes = ByteUtils.toBytes("google");
|
||||||
|
Assert.assertTrue(ByteUtils.isNotEmpty(bytes));
|
||||||
|
byte[] bytes2 = ByteUtils.toBytes("");
|
||||||
|
Assert.assertFalse(ByteUtils.isNotEmpty(bytes2));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,139 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||||
|
*
|
||||||
|
* 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 com.alibaba.nacos.common.utils;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import java.util.ConcurrentModificationException;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ConcurrentHashSet Test.
|
||||||
|
* @ClassName: ConcurrentHashSetTest
|
||||||
|
* @Author: ChenHao26
|
||||||
|
* @Date: 2022/8/22 11:21
|
||||||
|
*/
|
||||||
|
public class ConcurrentHashSetTest {
|
||||||
|
|
||||||
|
Set<Integer> concurrentHashSet;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
concurrentHashSet = new ConcurrentHashSet<>();
|
||||||
|
concurrentHashSet.add(1);
|
||||||
|
concurrentHashSet.add(2);
|
||||||
|
concurrentHashSet.add(3);
|
||||||
|
concurrentHashSet.add(4);
|
||||||
|
concurrentHashSet.add(5);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void size() {
|
||||||
|
Assert.assertEquals(concurrentHashSet.size(), 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contains() {
|
||||||
|
Assert.assertTrue(concurrentHashSet.contains(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMultithreaded() {
|
||||||
|
try {
|
||||||
|
concurrentHashSet = new HashSet<>();
|
||||||
|
executeThread();
|
||||||
|
} catch (Exception e) {
|
||||||
|
Assert.assertTrue(e instanceof ConcurrentModificationException);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
concurrentHashSet = new ConcurrentHashSet<>();
|
||||||
|
executeThread();
|
||||||
|
} catch (Exception e) {
|
||||||
|
Assert.assertNull(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* execute muti thread.
|
||||||
|
*/
|
||||||
|
public void executeThread() throws Exception {
|
||||||
|
for (int i = 0; i < 1000; i++) {
|
||||||
|
concurrentHashSet.add(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
new Thread(new AddDataThread(concurrentHashSet)).start();
|
||||||
|
new Thread(new DeleteDataThread(concurrentHashSet)).start();
|
||||||
|
new Thread(new IteratorThread(concurrentHashSet)).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
//add data thread
|
||||||
|
static class AddDataThread implements Runnable {
|
||||||
|
Set<Integer> hashSet;
|
||||||
|
|
||||||
|
public AddDataThread(Set<Integer> hashSet) {
|
||||||
|
this.hashSet = hashSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while (true) {
|
||||||
|
int random = new Random().nextInt();
|
||||||
|
hashSet.add(random);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete data thread
|
||||||
|
static class DeleteDataThread implements Runnable {
|
||||||
|
Set<Integer> hashSet;
|
||||||
|
|
||||||
|
public DeleteDataThread(Set<Integer> hashSet) {
|
||||||
|
this.hashSet = hashSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
int random = new Random().nextInt(1000);
|
||||||
|
while (true) {
|
||||||
|
hashSet.remove(random);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static class IteratorThread implements Runnable {
|
||||||
|
|
||||||
|
Set<Integer> hashSet;
|
||||||
|
|
||||||
|
public IteratorThread(Set<Integer> hashSet) {
|
||||||
|
this.hashSet = hashSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
System.out.println("start -- hashSet.size() : " + hashSet.size());
|
||||||
|
for (Integer str : hashSet) {
|
||||||
|
System.out.println("value : " + str);
|
||||||
|
}
|
||||||
|
System.out.println("end -- hashSet.size() : " + hashSet.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||||
|
*
|
||||||
|
* 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 com.alibaba.nacos.common.utils;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* InetAddressValidator Test.
|
||||||
|
* @ClassName: InetAddressValidatorTest
|
||||||
|
* @Author: ChenHao26
|
||||||
|
* @Date: 2022/8/22 13:07
|
||||||
|
*/
|
||||||
|
public class InetAddressValidatorTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isIPv6Address() {
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv6Address("2000:0000:0000:0000:0001:2345:6789:abcd"));
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv6Address("2001:DB8:0:0:8:800:200C:417A"));
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv6Address("2001:DB8::8:800:200C:417A"));
|
||||||
|
Assert.assertFalse(InetAddressValidator.isIPv6Address("2001:DB8::8:800:200C141aA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isIPv6MixedAddress() {
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv6MixedAddress("1:0:0:0:0:0:172.12.55.18"));
|
||||||
|
Assert.assertFalse(InetAddressValidator.isIPv6MixedAddress("2001:DB8::8:800:200C141aA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isIPv6IPv4MappedAddress() {
|
||||||
|
Assert.assertFalse(InetAddressValidator.isIPv6IPv4MappedAddress(":ffff:1.1.1.1"));
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv6IPv4MappedAddress("::FFFF:192.168.1.2"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isIPv4Address() {
|
||||||
|
Assert.assertTrue(InetAddressValidator.isIPv4Address("192.168.1.2"));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||||
|
*
|
||||||
|
* 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 com.alibaba.nacos.common.utils;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PropertyUtils Test.
|
||||||
|
* @ClassName: PropertyUtilsTest
|
||||||
|
* @Author: ChenHao26
|
||||||
|
* @Date: 2022/8/22 13:28
|
||||||
|
*/
|
||||||
|
public class PropertyUtilsTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getProperty() {
|
||||||
|
System.setProperty("nacos.test", "google");
|
||||||
|
String property = PropertyUtils.getProperty("nacos.test", "xx");
|
||||||
|
Assert.assertEquals(property, "google");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getPropertyWithDefaultValue() {
|
||||||
|
String property = PropertyUtils.getProperty("nacos.test", "xx", "test001");
|
||||||
|
Assert.assertEquals(property, "test001");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getProcessorsCount() {
|
||||||
|
int processorsCount = PropertyUtils.getProcessorsCount();
|
||||||
|
Assert.assertNotNull(processorsCount);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
||||||
|
*
|
||||||
|
* 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 com.alibaba.nacos.common.utils.to;
|
||||||
|
|
||||||
|
public class User {
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public User(Integer id, String name) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user