diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2022-04-20 01:34:12 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-20 01:34:12 +0000 |
| commit | 5fd87615cf1514c7f9a0358988964768ded3f06e (patch) | |
| tree | 001c3c760fdae8fe7b72cacb1f87d3703cc4e82c /azalea-brigadier/tests/builder | |
| parent | d09762f5d38ab1200fb08ca3b1178813b4e47081 (diff) | |
| parent | be194c1ca136100fd8f53ed068d82c9f7ae32870 (diff) | |
| download | azalea-drasl-5fd87615cf1514c7f9a0358988964768ded3f06e.tar.xz | |
Merge pull request #1 from mat-1/brigadier
azalea-brigadier
Diffstat (limited to 'azalea-brigadier/tests/builder')
3 files changed, 75 insertions, 0 deletions
diff --git a/azalea-brigadier/tests/builder/argument_builder_test.rs b/azalea-brigadier/tests/builder/argument_builder_test.rs new file mode 100644 index 00000000..e570c988 --- /dev/null +++ b/azalea-brigadier/tests/builder/argument_builder_test.rs @@ -0,0 +1,75 @@ +use std::rc::Rc; + +use crate::{ + arguments::integer_argument_type::integer, + builder::{literal_argument_builder::literal, required_argument_builder::argument}, +}; + +use super::ArgumentBuilder; + +// public class ArgumentBuilderTest { +// private TestableArgumentBuilder<Object> builder; + +// @Before +// public void setUp() throws Exception { +// builder = new TestableArgumentBuilder<>(); +// } + +// @Test +// public void testArguments() throws Exception { +// final RequiredArgumentBuilder<Object, ?> argument = argument("bar", integer()); + +// builder.then(argument); + +// assertThat(builder.getArguments(), hasSize(1)); +// assertThat(builder.getArguments(), hasItem((CommandNode<Object>) argument.build())); +// } + +#[test] +fn test_arguments() { + let mut builder: ArgumentBuilder<()> = literal("foo"); + + let argument: ArgumentBuilder<()> = argument("bar", integer()); + builder.then(argument.clone()); + assert_eq!(builder.arguments.children.len(), 1); + let built_argument = Rc::new(argument.build()); + assert!(builder + .arguments + .children + .values() + .any(|e| *e.borrow() == *built_argument)); +} + +// @Test +// public void testRedirect() throws Exception { +// final CommandNode<Object> target = mock(CommandNode.class); +// builder.redirect(target); +// assertThat(builder.getRedirect(), is(target)); +// } + +// @Test(expected = IllegalStateException.class) +// public void testRedirect_withChild() throws Exception { +// final CommandNode<Object> target = mock(CommandNode.class); +// builder.then(literal("foo")); +// builder.redirect(target); +// } + +// @Test(expected = IllegalStateException.class) +// public void testThen_withRedirect() throws Exception { +// final CommandNode<Object> target = mock(CommandNode.class); +// builder.redirect(target); +// builder.then(literal("foo")); +// } + +// private static class TestableArgumentBuilder<S> extends ArgumentBuilder<S, TestableArgumentBuilder<S>> { +// @Override +// protected TestableArgumentBuilder<S> getThis() { +// return this; +// } + +// @Override +// public CommandNode<S> build() { +// return null; +// } +// } +// } diff --git a/azalea-brigadier/tests/builder/literal_argument_builder_test.rs b/azalea-brigadier/tests/builder/literal_argument_builder_test.rs new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/azalea-brigadier/tests/builder/literal_argument_builder_test.rs diff --git a/azalea-brigadier/tests/builder/required_argument_builder_test.rs b/azalea-brigadier/tests/builder/required_argument_builder_test.rs new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/azalea-brigadier/tests/builder/required_argument_builder_test.rs |
