Compare commits
6 Commits
80ad7e837c
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9112d9524f | |||
| 18a76b0350 | |||
| 55e5cbeb0f | |||
| 01fa52a1fc | |||
| 18570dec1c | |||
| 9244d49d75 |
@@ -2,6 +2,7 @@
|
|||||||
name: next-issue
|
name: next-issue
|
||||||
description: Wählt das nächste zu bearbeitende Gitea-Issue und gibt nur die Kerndaten zurück.
|
description: Wählt das nächste zu bearbeitende Gitea-Issue und gibt nur die Kerndaten zurück.
|
||||||
tools: mcp__gitea__list_issues, mcp__gitea__issue_read
|
tools: mcp__gitea__list_issues, mcp__gitea__issue_read
|
||||||
|
model: haiku
|
||||||
---
|
---
|
||||||
Finde das nächste offene Issue im Repo <owner>/<repo> mit Label `ai-ready`
|
Finde das nächste offene Issue im Repo <owner>/<repo> mit Label `ai-ready`
|
||||||
und NICHT mit Label `ai-wip` oder `ai-blocked`.
|
und NICHT mit Label `ai-wip` oder `ai-blocked`.
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ allowed-tools: >
|
|||||||
mcp__gitea__issue_read, mcp__gitea__issue_write,
|
mcp__gitea__issue_read, mcp__gitea__issue_write,
|
||||||
mcp__gitea__label_read,
|
mcp__gitea__label_read,
|
||||||
mcp__gitea__pull_request_write
|
mcp__gitea__pull_request_write
|
||||||
|
model: opus
|
||||||
---
|
---
|
||||||
Bearbeite Gitea-Issue #$1 im aktuellen Repo. Schritt für Schritt:
|
Bearbeite Gitea-Issue #$1 im aktuellen Repo. Schritt für Schritt:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Normalize line endings independent of core.autocrlf.
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Maven wrapper: POSIX shell script must stay LF, even on Windows checkouts.
|
||||||
|
mvnw text eol=lf
|
||||||
|
*.sh text eol=lf
|
||||||
|
|
||||||
|
# Windows batch wrapper needs CRLF.
|
||||||
|
mvnw.cmd text eol=crlf
|
||||||
|
|
||||||
|
# Binaries: never convert.
|
||||||
|
*.jar binary
|
||||||
@@ -1,22 +1,16 @@
|
|||||||
package com.example;
|
package com.example;
|
||||||
|
|
||||||
import com.example.util.AddFunction;
|
|
||||||
import com.example.util.CalcFunction;
|
import com.example.util.CalcFunction;
|
||||||
import com.example.util.DivideFunction;
|
import com.example.util.CalcFunctionFactory;
|
||||||
import com.example.util.MultiplyFunction;
|
import com.example.util.CalcOperation;
|
||||||
import com.example.util.SubtractFunction;
|
|
||||||
|
|
||||||
public class LoopTestApplication {
|
public class LoopTestApplication {
|
||||||
|
|
||||||
static void main() {
|
static void main() {
|
||||||
System.out.println("============== Calculator =============");
|
System.out.println("============== Calculator =============");
|
||||||
CalcFunction add = new AddFunction();
|
for (CalcOperation operation : CalcOperation.values()) {
|
||||||
System.out.println("ADDITION: " + add.calc(2, 5, 6));
|
CalcFunction function = CalcFunctionFactory.create(operation);
|
||||||
CalcFunction subtract = new SubtractFunction();
|
System.out.println(operation + ": " + function.calc(2, 5, 6));
|
||||||
System.out.println("SUBTRACTION: " + subtract.calc(2, 5, 6));
|
}
|
||||||
CalcFunction multiply = new MultiplyFunction();
|
|
||||||
System.out.println("MULTIPLICATION: " + multiply.calc(2, 5, 6));
|
|
||||||
CalcFunction divide = new DivideFunction();
|
|
||||||
System.out.println("DIVISION: " + divide.calc(2, 5, 6));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.example.util;
|
||||||
|
|
||||||
|
public final class CalcFunctionFactory {
|
||||||
|
|
||||||
|
private CalcFunctionFactory() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CalcFunction create(CalcOperation operation) {
|
||||||
|
if (operation == null) {
|
||||||
|
throw new IllegalArgumentException("Operation must not be null");
|
||||||
|
}
|
||||||
|
return switch (operation) {
|
||||||
|
case ADD -> new AddFunction();
|
||||||
|
case SUBTRACT -> new SubtractFunction();
|
||||||
|
case MULTIPLY -> new MultiplyFunction();
|
||||||
|
case DIVIDE -> new DivideFunction();
|
||||||
|
case POWER -> new PowerFunction();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.example.util;
|
||||||
|
|
||||||
|
public enum CalcOperation {
|
||||||
|
|
||||||
|
ADD,
|
||||||
|
SUBTRACT,
|
||||||
|
MULTIPLY,
|
||||||
|
DIVIDE,
|
||||||
|
POWER
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.example.util;
|
||||||
|
|
||||||
|
public class PowerFunction implements CalcFunction {
|
||||||
|
|
||||||
|
public double calc(double... input) {
|
||||||
|
if (input.length == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
double result = input[0];
|
||||||
|
for (int i = 1; i < input.length; i++) {
|
||||||
|
result = Math.pow(result, input[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.example.util;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
class CalcFunctionFactoryTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsAddFunction() {
|
||||||
|
assertInstanceOf(AddFunction.class, CalcFunctionFactory.create(CalcOperation.ADD));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsSubtractFunction() {
|
||||||
|
assertInstanceOf(SubtractFunction.class, CalcFunctionFactory.create(CalcOperation.SUBTRACT));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsMultiplyFunction() {
|
||||||
|
assertInstanceOf(MultiplyFunction.class, CalcFunctionFactory.create(CalcOperation.MULTIPLY));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsDivideFunction() {
|
||||||
|
assertInstanceOf(DivideFunction.class, CalcFunctionFactory.create(CalcOperation.DIVIDE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsPowerFunction() {
|
||||||
|
assertInstanceOf(PowerFunction.class, CalcFunctionFactory.create(CalcOperation.POWER));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createsFunctionForEveryOperation() {
|
||||||
|
for (CalcOperation operation : CalcOperation.values()) {
|
||||||
|
assertNotNull(CalcFunctionFactory.create(operation), "No function for " + operation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createdFunctionCalculates() {
|
||||||
|
assertEquals(13.0, CalcFunctionFactory.create(CalcOperation.ADD).calc(2.0, 5.0, 6.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void rejectsNullOperation() {
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> CalcFunctionFactory.create(null));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.example.util;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
class PowerFunctionTest {
|
||||||
|
|
||||||
|
private final PowerFunction powerFunction = new PowerFunction();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void raisesMultipleValuesLeftToRight() {
|
||||||
|
assertEquals(1073741824.0, powerFunction.calc(2.0, 5.0, 6.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void returnsSingleValue() {
|
||||||
|
assertEquals(5.0, powerFunction.calc(5.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void returnsZeroForNoInput() {
|
||||||
|
assertEquals(0.0, powerFunction.calc());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void raisesToNegativeExponent() {
|
||||||
|
assertEquals(0.25, powerFunction.calc(2.0, -2.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void raisesToZeroExponent() {
|
||||||
|
assertEquals(1.0, powerFunction.calc(7.0, 0.0));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user