Skip to content

Commit 40e8ede

Browse files
committed
Fix oneOf, multipleOf string modifiers
1 parent 93bd5d8 commit 40e8ede

File tree

8 files changed

+53
-9
lines changed

8 files changed

+53
-9
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.idea/
22
target/
3-
*.iml
3+
*.iml
4+
*.versionsBackup

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,8 @@ from("A", "B", "C", "D").sample(2)
5959
> ["B", "D"]
6060
```
6161

62-
Support: Java5+
62+
### Special thanks
63+
64+
To keep the lib tiny and get rid of extra dependencies (there are no
65+
transitive dependencies) some of the code was borrowed from these libs:
66+
Commons Lang, Commons Math. Hail to opensource!

datagen-java8types/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>qala-datagen-parent</artifactId>
77
<groupId>io.qala.datagen</groupId>
8-
<version>1.0-SNAPSHOT</version>
8+
<version>1.0.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

datagen-java8types/src/main/java/io/qala/datagen/RandomDateTime.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.qala.datagen;
22

3+
34
public class RandomDateTime extends RandomValue {
45
private RandomDateTime(Long min, Long max) {
56
super(min, max);

datagen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>qala-datagen-parent</artifactId>
77
<groupId>io.qala.datagen</groupId>
8-
<version>1.0-SNAPSHOT</version>
8+
<version>1.0.0</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

datagen/src/main/java/io/qala/datagen/StringModifier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static StringModifier oneOf(String chars) {
4646
static StringModifier oneOf(final char... chars) {
4747
return new StringModifier() {
4848
@Override public String modify(String original) {
49-
int index = upTo(original.length()).integer();
49+
int index = upTo(original.length() - 1).integer();
5050
String symbol = CommonsLang3RandomStringUtils.random(1, chars);
5151
return new StringBuilder(original).replace(index, index + 1, symbol).toString();
5252
}
@@ -63,7 +63,7 @@ static StringModifier multipleOf(final char... chars) {
6363
int nOfSymbols = between(1, original.length()).integer();
6464
StringBuilder stringBuilder = new StringBuilder(original);
6565
for (int i = 0; i < nOfSymbols; i++) {
66-
int index = upTo(original.length()).integer();
66+
int index = upTo(original.length() - 1).integer();
6767
String symbol = CommonsLang3RandomStringUtils.random(1, chars);
6868
stringBuilder.replace(index, index + 1, symbol);
6969
}

datagen/src/test/java/io/qala/datagen/RandomValueTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ public class RandomValueTest {
107107
@Test void doesNotModifyLengthIfAddsSpecialSymbol() {
108108
assertThat(length(100).with(specialSymbol()).english().length(), equalTo(100));
109109
}
110+
@Test void doesNotModifyLengthIfAddsMultipleChars() {
111+
assertThat(length(100).with(multipleOf("!!_#")).english().length(), equalTo(100));
112+
}
110113
@Test void addsOneOfPassedSymbols() {
111114
assertThat(length(100).with(oneOf(",")).english(), containsString(","));
112115
}

pom.xml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,29 @@
77
<groupId>io.qala.datagen</groupId>
88
<artifactId>qala-datagen-parent</artifactId>
99
<packaging>pom</packaging>
10-
<version>1.0-SNAPSHOT</version>
10+
<version>1.0.0</version>
11+
12+
<licenses>
13+
<license>
14+
<name>The Apache License, Version 2.0</name>
15+
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
16+
</license>
17+
</licenses>
18+
<name>Qala Datagen</name>
19+
<description>Java lib to generate random data to facilitate Randomized Testing.</description>
20+
<url>https://bitbucket.org/qala/datagen/</url>
21+
<developers>
22+
<developer>
23+
<name>Stanislav Bashkyrtsev</name>
24+
<email>[email protected]</email>
25+
<organization>Qala</organization>
26+
<organizationUrl>http://qala.io</organizationUrl>
27+
</developer>
28+
</developers>
29+
1130
<modules>
1231
<module>datagen</module>
13-
<module>datagen-java8types</module>
32+
<!--<module>datagen-java8types</module>-->
1433
</modules>
1534

1635
<properties>
@@ -54,6 +73,20 @@
5473
</execution>
5574
</executions>
5675
</plugin>
76+
<plugin>
77+
<groupId>org.apache.maven.plugins</groupId>
78+
<artifactId>maven-javadoc-plugin</artifactId>
79+
<version>2.10.3</version>
80+
<executions>
81+
<execution>
82+
<id>generate-javadocs</id>
83+
<phase>verify</phase>
84+
<goals>
85+
<goal>jar</goal>
86+
</goals>
87+
</execution>
88+
</executions>
89+
</plugin>
5790
<plugin>
5891
<groupId>org.sonatype.plugins</groupId>
5992
<artifactId>nexus-staging-maven-plugin</artifactId>
@@ -185,6 +218,8 @@
185218
</repository>
186219
</distributionManagement>
187220
<scm>
188-
<url>https://bitbucket.org/qala/datagen</url>
221+
<connection>scm:git:https://[email protected]/qala/datagen.git</connection>
222+
<developerConnection>scm:git:https://[email protected]/qala/datagen.git</developerConnection>
223+
<url>https://bitbucket.org/qala/datagen/</url>
189224
</scm>
190225
</project>

0 commit comments

Comments
 (0)