Skip to content

Commit 95f37c9

Browse files
committed
Added some functionality
1 parent 665b170 commit 95f37c9

File tree

10 files changed

+93
-2
lines changed

10 files changed

+93
-2
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44

55
// project meta data
66
group 'de.havox_design.aoc2015'
7-
version '0.4.1'
7+
version '0.4.2'
88

99
// Switch to gradle "all" distribution.
1010
wrapper {

day05/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
dependencies {
2+
implementation 'org.apache.commons:commons-lang3:3.13.0'
23
}
Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,59 @@
1-
package de.havox_design.aoc2015.day05;public class NiceStrings {
1+
package de.havox_design.aoc2015.day05;
2+
3+
import de.havox_design.aoc2015.utils.DataReader;
4+
5+
import java.util.List;
6+
7+
public class NiceStrings {
8+
private final List<String> input;
9+
10+
public NiceStrings(String fileName) {
11+
input = readData(fileName);
12+
}
13+
14+
public static int solvePart1(String fileName) {
15+
NiceStrings instance = new NiceStrings(fileName);
16+
return instance.solvePart1();
17+
}
18+
19+
public static int solvePart2(String fileName) {
20+
NiceStrings instance = new NiceStrings(fileName);
21+
return instance.solvePart2();
22+
}
23+
24+
public int solvePart1() {
25+
int numberNiceStrings = 0;
26+
27+
for (String string : input) {
28+
if (
29+
countVowels(string) >= 3 &&
30+
containsDoubleLetter(string) &&
31+
!containsForbiddenStrings(string)
32+
) {
33+
numberNiceStrings++;
34+
}
35+
}
36+
37+
return numberNiceStrings;
38+
}
39+
40+
public int solvePart2() {
41+
return 0;
42+
}
43+
44+
private int countVowels(String string) {
45+
return 0;
46+
}
47+
48+
private boolean containsDoubleLetter(String string) {
49+
return false;
50+
}
51+
52+
private boolean containsForbiddenStrings(String string) {
53+
return false;
54+
}
55+
56+
private List<String> readData(String fileName) {
57+
return DataReader.readData(fileName, MainClass.class);
58+
}
259
}

day05/src/test/java/de/havox_design/aoc2015/day05/Day05Test.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package de.havox_design.aoc2015.day05;
22

3+
import org.junit.jupiter.api.Assertions;
34
import org.junit.jupiter.api.Test;
5+
import org.junit.jupiter.params.ParameterizedTest;
6+
import org.junit.jupiter.params.provider.Arguments;
7+
import org.junit.jupiter.params.provider.MethodSource;
8+
9+
import java.util.stream.Stream;
410

511
class Day05Test {
612

@@ -9,4 +15,21 @@ class Day05Test {
915
void testMainClass() {
1016
MainClass.main(new String[0]);
1117
}
18+
19+
@ParameterizedTest
20+
@MethodSource("getDataForPart1")
21+
void testPart1(String fileName, int expectedNumberOfNiceStrings) {
22+
Assertions.assertEquals(expectedNumberOfNiceStrings, NiceStrings.solvePart1(fileName));
23+
}
24+
25+
private static Stream<Arguments> getDataForPart1() {
26+
return Stream.of(
27+
Arguments.of("part1sample1.txt", 1),
28+
Arguments.of("part1sample2.txt", 1),
29+
Arguments.of("part1sample3.txt", 0),
30+
Arguments.of("part1sample4.txt", 0),
31+
Arguments.of("part1sample5.txt", 0),
32+
Arguments.of("part1sample6.txt", 2)
33+
);
34+
}
1235
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ugknbfddgicrmopn
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
aaa
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
jchzalrnumimnmhp
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
haegwjzuvuyypxyu
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dvszwmarrgswjxmb
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ugknbfddgicrmopn
2+
aaa
3+
jchzalrnumimnmhp
4+
haegwjzuvuyypxyu
5+
dvszwmarrgswjxmb

0 commit comments

Comments
 (0)