add pizza bot
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id("java-library")
|
||||
id("java-test-fixtures")
|
||||
id("chat-bot.java-conventions")
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@ import eu.jonahbauer.chat.bot.api.ChatBot;
|
||||
|
||||
module eu.jonahbauer.chat.bot.api {
|
||||
exports eu.jonahbauer.chat.bot.api;
|
||||
exports eu.jonahbauer.chat.bot.impl to eu.jonahbauer.chat.server;
|
||||
exports eu.jonahbauer.chat.bot.impl to eu.jonahbauer.chat.server, eu.jonahbauer.chat.bot.api.fixtures;
|
||||
|
||||
requires transitive eu.jonahbauer.chat.bot.config;
|
||||
requires static transitive org.jetbrains.annotations;
|
||||
|
@@ -0,0 +1,21 @@
|
||||
package eu.jonahbauer.chat.bot.test;
|
||||
|
||||
import eu.jonahbauer.chat.bot.api.ChatBot;
|
||||
import eu.jonahbauer.chat.bot.config.BotConfig;
|
||||
import eu.jonahbauer.chat.bot.impl.ChatBotFactory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public final class ChatBotFactoryAccess {
|
||||
|
||||
private ChatBotFactoryAccess() {}
|
||||
|
||||
public static <T extends ChatBot> T create(@NotNull BotConfig config, @NotNull Supplier<T> supplier) {
|
||||
return ScopedValue.where(ChatBotFactory.BOT_CONFIG, config).get(supplier);
|
||||
}
|
||||
|
||||
public static <T extends ChatBot> T create(@NotNull Supplier<T> supplier) {
|
||||
return create(BotConfig.EMPTY, supplier);
|
||||
}
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
package eu.jonahbauer.chat.bot.test;
|
||||
|
||||
import eu.jonahbauer.chat.bot.api.Chat;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MockChat implements Chat {
|
||||
private final @NotNull List<@NotNull Message> messages = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public boolean send(@NotNull String channel, @NotNull String name, @NotNull String message, boolean bottag, boolean publicId) {
|
||||
messages.add(new Message(channel, name, message, bottag, publicId));
|
||||
return true;
|
||||
}
|
||||
|
||||
public @NotNull List<@NotNull Message> getMessages() {
|
||||
return messages;
|
||||
}
|
||||
|
||||
public record Message(@NotNull String channel, @NotNull String name, @NotNull String message, boolean bottag, boolean publicId) {
|
||||
public Message(@NotNull String channel, @NotNull String name, @NotNull String message) {
|
||||
this(channel, name, message, true, true);
|
||||
}
|
||||
}
|
||||
}
|
7
bot-api/src/testFixtures/java/module-info.java
Normal file
7
bot-api/src/testFixtures/java/module-info.java
Normal file
@@ -0,0 +1,7 @@
|
||||
module eu.jonahbauer.chat.bot.api.fixtures {
|
||||
exports eu.jonahbauer.chat.bot.test;
|
||||
|
||||
requires eu.jonahbauer.chat.bot.api;
|
||||
requires eu.jonahbauer.chat.bot.config;
|
||||
requires static transitive org.jetbrains.annotations;
|
||||
}
|
Reference in New Issue
Block a user