Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb959566

Browse files
committed
fixed unit test, unified API
1 parent475aee2 commitb959566

File tree

5 files changed

+27
-15
lines changed

5 files changed

+27
-15
lines changed

‎src/main/java/com/indoqa/fsa/character/CharAcceptorBuilder.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ private Map<String, IntList> buildGroups() {
305305
privateMap<Integer,Integer>findReplacements(IntListgroup) {
306306
Map<Integer,Integer>result =newHashMap<>();
307307

308-
Map<NodeData,Integer>hashes =newHashMap<>();
308+
Map<NodeData,Integer>hashes =newHashMap<>(group.size());
309309

310310
for (inti =0;i <group.size();i++) {
311311
inteachIndex =group.get(i);

‎src/main/java/com/indoqa/fsa/character/CharTransducerBuilder.java‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,13 @@
2626

2727
publicclassCharTransducerBuilderimplementsTransducerBuilder {
2828

29+
publicstaticfinalcharDEFAULT_SEPARATOR =Character.MAX_VALUE;
30+
2931
privatefinalCharAcceptorBuilderacceptorBuilder;
3032
privatefinalcharseparator;
3133

3234
publicCharTransducerBuilder(booleancaseSensitive) {
33-
this(caseSensitive,Character.MAX_VALUE);
35+
this(caseSensitive,DEFAULT_SEPARATOR);
3436
}
3537

3638
publicCharTransducerBuilder(booleancaseSensitive,charseparator) {
@@ -74,7 +76,7 @@ public void add(String input, String output) {
7476
@Override
7577
publicCharTransducerbuild() {
7678
CharAcceptorcharAcceptor =this.acceptorBuilder.build();
77-
returnnewCharTransducer(charAcceptor,Character.MAX_VALUE);
79+
returnnewCharTransducer(charAcceptor,DEFAULT_SEPARATOR);
7880
}
7981

8082
publicvoidsetMessageConsumer(Consumer<String>messageConsumer) {
@@ -83,8 +85,8 @@ public void setMessageConsumer(Consumer<String> messageConsumer) {
8385

8486
@Override
8587
publicvoidwrite(OutputStreamoutputStream)throwsIOException {
86-
outputStream.write(Character.MAX_VALUE);
87-
outputStream.write(Character.MAX_VALUE >>8);
88+
outputStream.write(DEFAULT_SEPARATOR);
89+
outputStream.write(DEFAULT_SEPARATOR >>8);
8890

8991
this.acceptorBuilder.write(outputStream);
9092
}

‎src/main/java/com/indoqa/fsa/morfologik/MorfologikTransducerBuilder.java‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737

3838
publicclassMorfologikTransducerBuilderimplementsTransducerBuilder {
3939

40+
publicstaticfinalcharDEFAULT_SEPARATOR =0x7F;
41+
4042
privatefinalSet<byte[]>inputs =newTreeSet<>(FSABuilder.LEXICAL_ORDERING);
4143

4244
privatefinalcharseparator;
@@ -61,19 +63,19 @@ public MorfologikTransducerBuilder(char separator, boolean caseSensitive) {
6163
this.dictionaryMetadata =dictionaryMetadataBuilder.build();
6264
}
6365

64-
publicstaticMorfologikTransducerbuild(charseparator,booleancaseSensitive,Iterable<String>values) {
65-
MorfologikTransducerBuilderbuilder =newMorfologikTransducerBuilder(separator,caseSensitive);
66+
publicstaticMorfologikTransducerbuild(booleancaseSensitive,StringsplitPattern,Iterable<String>values) {
67+
MorfologikTransducerBuilderbuilder =newMorfologikTransducerBuilder(DEFAULT_SEPARATOR,caseSensitive);
6668

6769
for (StringeachValue :values) {
68-
String[]parts =eachValue.split(String.valueOf(separator),2);
70+
String[]parts =eachValue.split(splitPattern,2);
6971
builder.add(parts[0],parts[1]);
7072
}
7173

7274
returnbuilder.build();
7375
}
7476

75-
publicstaticMorfologikTransducerbuild(charseparator,booleancaseSensitive,String...value) {
76-
returnbuild(separator,caseSensitive,Arrays.asList(value));
77+
publicstaticMorfologikTransducerbuild(booleancaseSensitive,StringsplitPattern,String...value) {
78+
returnbuild(caseSensitive,splitPattern,Arrays.asList(value));
7779
}
7880

7981
publicstaticMorfologikTransducerread(InputStreaminputStream)throwsIOException {

‎src/main/java/com/indoqa/fsa/utils/IntList.java‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,18 @@ public void add(int value) {
2929
this.elements[this.size++] =value;
3030
}
3131

32+
publicvoidclear() {
33+
this.size =0;
34+
}
35+
3236
publicintget(intindex) {
3337
returnthis.elements[index];
3438
}
3539

40+
publicbooleanisEmpty() {
41+
returnthis.size ==0;
42+
}
43+
3644
publicintsize() {
3745
returnthis.size;
3846
}

‎src/test/java/com/indoqa/fsa/morfologik/MorfologikTransducerTest.java‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,14 @@
2626

2727
importcom.indoqa.fsa.Token;
2828
importcom.indoqa.fsa.Transducer;
29-
importcom.indoqa.fsa.character.CharTransducerBuilder;
30-
importcom.indoqa.fsa.morfologik.MorfologikTransducerBuilder;
3129

3230
publicclassMorfologikTransducerTest {
3331

3432
privatestaticfinalintSTRING_COUNT =10000;
3533

3634
@Test
3735
publicvoidcaseInsensitive() {
38-
Transducertransducer =MorfologikTransducerBuilder.build('#',false,"Nachteilzug#Nacht|eil|zug");
36+
Transducertransducer =MorfologikTransducerBuilder.build(false,"#","Nachteilzug#Nacht|eil|zug");
3937

4038
assertEquals("Nacht|eil|zug",transducer.transduce("Nachteilzug"));
4139
}
@@ -60,7 +58,9 @@ public void test() {
6058
intindex =inputs.indexOf(eachOtherInput);
6159
Stringexpected =index == -1 ?eachOtherInput :outputs.get(index);
6260

63-
assertEquals("Random input should only be translated if it was part of the original input.",expected,
61+
assertEquals(
62+
"Random input should only be translated if it was part of the original input.",
63+
expected,
6464
transducer.transduce(eachOtherInput,eachOtherInput));
6565
}
6666
}
@@ -95,7 +95,7 @@ public void test3() {
9595

9696
@Test
9797
publicvoidtransduce() {
98-
Transducertransducer =CharTransducerBuilder.build(false,"#","Auto#PKW");
98+
Transducertransducer =MorfologikTransducerBuilder.build(false,"#","Auto#PKW");
9999

100100
assertEquals("Autobahn",transducer.transduce("Autobahn"));
101101
assertEquals("PKW",transducer.transduce("Auto"));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp