Improve unittests for FqNameUnsafe.startsWith(Name)

This commit is contained in:
Vladimir Sukharev
2023-12-07 21:56:56 +01:00
committed by Space Team
parent 93af9f33e4
commit 1387e077e9
@@ -8,25 +8,7 @@ package org.jetbrains.kotlin.name;
import org.junit.Assert;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class FqNameUnsafeTest {
@Test
public void pathSegments() {
Assert.assertEquals(new ArrayList<Name>(), new FqNameUnsafe("").pathSegments());
for (String name : new String[] { "org", "org.jetbrains", "org.jetbrains.kotlin" }) {
List<Name> segments = new FqNameUnsafe(name).pathSegments();
List<String> segmentsStrings = new ArrayList<>();
for (Name segment : segments) {
segmentsStrings.add(segment.asString());
}
Assert.assertEquals(Arrays.asList(name.split("\\.")), segmentsStrings);
}
}
@Test
public void startsWithName() {
Assert.assertTrue(new FqNameUnsafe("abc.def").startsWith(Name.identifier("abc")));
@@ -38,13 +20,30 @@ public class FqNameUnsafeTest {
Assert.assertFalse(new FqNameUnsafe("").startsWith(Name.identifier("id")));
Assert.assertFalse(new FqNameUnsafe("segment").startsWith(Name.identifier("")));
Assert.assertFalse(new FqNameUnsafe("abc.").startsWith(Name.identifier("abc.")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.identifier("abc")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.identifier(".")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.identifier(".abc")));
Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(Name.identifier("abc.def")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.identifier("xyz")));
Assert.assertFalse(new FqNameUnsafe("abcdef").startsWith(Name.identifier("abc")));
Assert.assertFalse(new FqNameUnsafe("abc").startsWith(Name.identifier("abcdef")));
Assert.assertFalse(new FqNameUnsafe("abc.xyz").startsWith(Name.identifier("abcdef")));
// special names
Assert.assertFalse(new FqNameUnsafe("abc.def").startsWith(Name.special("<abc>")));
Assert.assertFalse(new FqNameUnsafe("abc").startsWith(Name.special("<abc>")));
Assert.assertFalse(new FqNameUnsafe("abc.").startsWith(Name.special("<abc>")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.special("<>")));
Assert.assertFalse(new FqNameUnsafe("").startsWith(Name.special("<>")));
Assert.assertFalse(new FqNameUnsafe("").startsWith(Name.special("<id>")));
Assert.assertFalse(new FqNameUnsafe("segment").startsWith(Name.special("<>")));
Assert.assertFalse(new FqNameUnsafe(".abc").startsWith(Name.special("<abc>")));
Assert.assertFalse(new FqNameUnsafe("abcdef").startsWith(Name.special("<abc>")));
Assert.assertFalse(new FqNameUnsafe("abc").startsWith(Name.special("<abcdef>")));
Assert.assertFalse(new FqNameUnsafe("abc.xyz").startsWith(Name.special("<abcdef>")));
Assert.assertTrue(new FqNameUnsafe("<abc>.def").startsWith(Name.special("<abc>")));
Assert.assertTrue(new FqNameUnsafe("<abc>").startsWith(Name.special("<abc>")));
Assert.assertTrue(new FqNameUnsafe("<abc>.").startsWith(Name.special("<abc>")));
Assert.assertTrue(new FqNameUnsafe("<>.abc").startsWith(Name.special("<>")));
}
}