Skip to content

Commit

Permalink
Add tests for item syntaxes. (#6164)
Browse files Browse the repository at this point in the history
* Add 'with custom model data' test.

* Add 'amount of items' test.

* Add 'items in' test.

* Make safe for 1.13.2.

* Update src/test/skript/tests/syntaxes/expressions/ExprItemsIn.sk

Co-authored-by: sovdee <10354869+sovdeeth@users.noreply.github.com>

---------

Co-authored-by: sovdee <10354869+sovdeeth@users.noreply.github.com>
  • Loading branch information
Moderocky and sovdeeth authored Jul 1, 2024
1 parent 6ee4628 commit 333b5fb
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/test/skript/tests/syntaxes/expressions/ExprAmountOfItems.sk
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
test "amount of items":
set {_inventory} to a hopper inventory named "test"
assert the amount of stone in {_inventory} is 0 with "default amount failed"
add stone to {_inventory}
assert the amount of stone in {_inventory} is 1 with "single amount failed"
add stone named "bread" to {_inventory}
assert the amount of stone in {_inventory} is 2 with "different named items amount failed"
add 100 of iron ingot to {_inventory}
assert the amount of stone in {_inventory} is 2 with "add different item amount failed"
assert the amount of iron ingot in {_inventory} is 100 with "add 100 item amount failed"
remove stone from {_inventory}
assert the amount of stone in {_inventory} is 1 with "removed one amount failed"
remove stone from {_inventory}
assert the amount of stone in {_inventory} is 0 with "removed all amount failed"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
test "item with custom model data" when minecraft version is not "1.13.2":
set {_i} to stone
assert the custom model data of {_i} is 0 with "default model data failed"
set {_i} to stone with custom model data 5
assert the custom model data of {_i} is 5 with "simple model data set failed"
set {_i} to stone with custom model data -1
assert the custom model data of {_i} is -1 with "negative model data set failed"
set {_i} to {_i} with custom model data 2
assert the custom model data of {_i} is 2 with "existing item model data set failed"
set {_i} to {_i} with custom model data 3.3
assert the custom model data of {_i} is 3 with "decimal item model data set failed"
set {_i} to {_i} with custom model data 3.999
assert the custom model data of {_i} is 3 with "close decimal item model data set failed"
27 changes: 27 additions & 0 deletions src/test/skript/tests/syntaxes/expressions/ExprItemsIn.sk
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@

test "items in (inventory)":
set {_inventory} to a hopper inventory named "test"
add stone to {_inventory}
add stone named "bread" to {_inventory}
add 100 of iron ingot to {_inventory}
loop items in {_inventory}:
if loop-value is stone:
continue
else if loop-value is iron ingot:
continue
else:
assert true is false with "unexpected item in the inventory area: %loop-value%"
set {_list::*} to items in {_inventory}
assert size of {_list::*} is 4 with "size of items in failed"
assert {_list::1} is stone with "first item failed"
assert {_list::2} is stone named "bread" with "second item failed"
assert {_list::3} is 64 of iron ingot with "third item failed"
assert {_list::4} is 36 of iron ingot with "split fourth item failed"
remove stone from {_inventory}
set {_list::*} to items in {_inventory}
assert size of {_list::*} is 3 with "size of second items in failed"
assert {_list::1} is stone named "bread" with "new first item failed"
assert {_list::2} is 64 of iron ingot with "new second item failed"
assert {_list::3} is 36 of iron ingot with "new third item failed"

test "filtering ExprItemsIn":
set {_world} to random world out of all worlds
set block at spawn of {_world} to chest
Expand All @@ -19,3 +45,4 @@ test "unfiltered ExprItemsIn":
set slot 3 of {_inv} to bucket
assert all items in inventory {_inv} are dirt, stone or bucket with "found correct items with ExprItemsIn##get"
assert (all items in inventory {_inv} where [true is true]) are dirt, stone or bucket with "found correct items with ExprItemsIn##iterator"

0 comments on commit 333b5fb

Please sign in to comment.