diff --git a/scenes/rooms/floor2/DeliveryRoom.tscn b/scenes/rooms/floor2/DeliveryRoom.tscn index 9b49223..b2b8913 100644 --- a/scenes/rooms/floor2/DeliveryRoom.tscn +++ b/scenes/rooms/floor2/DeliveryRoom.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=3 uid="uid://cozypaw_deliveryroom"] +[gd_scene load_steps=5 format=3 uid="uid://cozypaw_deliveryroom"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/DeliveryBed.tscn" id="2_deliverybed"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] +[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"] [node name="DeliveryRoom" type="Node2D"] @@ -42,3 +43,8 @@ position = Vector2(880, 540) position = Vector2(540, 480) script = ExtResource("3_snap") pose = "lying" + +[node name="DeliveryCabinet" type="Node2D" parent="."] +position = Vector2(150.0, 400.0) +script = ExtResource("4_chest") +chest_id = "delivery_cabinet" diff --git a/scenes/rooms/floor2/Nursery.tscn b/scenes/rooms/floor2/Nursery.tscn index 74f0466..88f4874 100644 --- a/scenes/rooms/floor2/Nursery.tscn +++ b/scenes/rooms/floor2/Nursery.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=3 uid="uid://cozypaw_nursery"] +[gd_scene load_steps=5 format=3 uid="uid://cozypaw_nursery"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/Cradle.tscn" id="2_cradle"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] +[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"] [node name="Nursery" type="Node2D"] @@ -66,3 +67,8 @@ position = Vector2(860, 240) script = ExtResource("3_snap") pose = "lying" baby_only = true + +[node name="NurseryShelf" type="Node2D" parent="."] +position = Vector2(640.0, 260.0) +script = ExtResource("4_chest") +chest_id = "nursery_shelf" diff --git a/scenes/rooms/floor2/Ultrasound.tscn b/scenes/rooms/floor2/Ultrasound.tscn index 4a76d51..0cec7e5 100644 --- a/scenes/rooms/floor2/Ultrasound.tscn +++ b/scenes/rooms/floor2/Ultrasound.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=3 uid="uid://cozypaw_ultrasound"] +[gd_scene load_steps=5 format=3 uid="uid://cozypaw_ultrasound"] [ext_resource type="PackedScene" path="res://scenes/objects/InteractiveObject.tscn" id="1_iobj"] [ext_resource type="PackedScene" path="res://scenes/objects/UltrasoundMachine.tscn" id="2_ultrasound"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="3_snap"] +[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="4_chest"] [node name="Ultrasound" type="Node2D"] @@ -57,3 +58,8 @@ position = Vector2(480, 450) position = Vector2(470, 480) script = ExtResource("3_snap") pose = "lying" + +[node name="UltrasoundCart" type="Node2D" parent="."] +position = Vector2(150.0, 400.0) +script = ExtResource("4_chest") +chest_id = "ultrasound_cart" diff --git a/scenes/rooms/home/GardenParty.tscn b/scenes/rooms/home/GardenParty.tscn index 8cf4e8d..a8856ac 100644 --- a/scenes/rooms/home/GardenParty.tscn +++ b/scenes/rooms/home/GardenParty.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://cozypaw_gardenparty"] +[gd_scene load_steps=6 format=3 uid="uid://cozypaw_gardenparty"] [ext_resource type="PackedScene" path="res://scenes/objects/GiftBox.tscn" id="1_giftbox"] [ext_resource type="PackedScene" path="res://scenes/objects/TeaPot.tscn" id="2_teapot"] [ext_resource type="PackedScene" path="res://scenes/objects/HomeButton.tscn" id="3_homebtn"] [ext_resource type="Script" path="res://scripts/objects/snap_point.gd" id="4_snap"] +[ext_resource type="Script" path="res://scripts/objects/room_chest.gd" id="5_chest"] [node name="GardenParty" type="Node2D"] @@ -93,3 +94,13 @@ script = ExtResource("4_snap") [node name="SnapTableRight" type="Node2D" parent="."] position = Vector2(750, 455) script = ExtResource("4_snap") + +[node name="GardenTable" type="Node2D" parent="."] +position = Vector2(200.0, 400.0) +script = ExtResource("5_chest") +chest_id = "garden_table" + +[node name="GardenStorage" type="Node2D" parent="."] +position = Vector2(900.0, 400.0) +script = ExtResource("5_chest") +chest_id = "garden_storage" diff --git a/test/unit/test_room_chests_floor2_home.gd b/test/unit/test_room_chests_floor2_home.gd new file mode 100644 index 0000000..cb4e38b --- /dev/null +++ b/test/unit/test_room_chests_floor2_home.gd @@ -0,0 +1,67 @@ +## Tests for RoomChest presence and item counts in Floor 2 and Home rooms. +extends GutTest + + +func test_ultrasound_has_chest_ultrasound_cart() -> void: + var room: Node = preload("res://scenes/rooms/floor2/Ultrasound.tscn").instantiate() + add_child_autofree(room) + assert_not_null(room.get_node_or_null("UltrasoundCart")) + + +func test_ultrasound_cart_has_three_items() -> void: + var room: Node = preload("res://scenes/rooms/floor2/Ultrasound.tscn").instantiate() + add_child_autofree(room) + var chest: RoomChest = room.get_node_or_null("UltrasoundCart") as RoomChest + assert_eq(chest.get_item_config_count(), 3) + + +func test_delivery_room_has_chest_delivery_cabinet() -> void: + var room: Node = preload("res://scenes/rooms/floor2/DeliveryRoom.tscn").instantiate() + add_child_autofree(room) + assert_not_null(room.get_node_or_null("DeliveryCabinet")) + + +func test_delivery_cabinet_has_three_items() -> void: + var room: Node = preload("res://scenes/rooms/floor2/DeliveryRoom.tscn").instantiate() + add_child_autofree(room) + var chest: RoomChest = room.get_node_or_null("DeliveryCabinet") as RoomChest + assert_eq(chest.get_item_config_count(), 3) + + +func test_nursery_has_chest_nursery_shelf() -> void: + var room: Node = preload("res://scenes/rooms/floor2/Nursery.tscn").instantiate() + add_child_autofree(room) + assert_not_null(room.get_node_or_null("NurseryShelf")) + + +func test_nursery_shelf_has_three_items() -> void: + var room: Node = preload("res://scenes/rooms/floor2/Nursery.tscn").instantiate() + add_child_autofree(room) + var chest: RoomChest = room.get_node_or_null("NurseryShelf") as RoomChest + assert_eq(chest.get_item_config_count(), 3) + + +func test_garden_party_has_chest_garden_table() -> void: + var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate() + add_child_autofree(room) + assert_not_null(room.get_node_or_null("GardenTable")) + + +func test_garden_table_has_two_items() -> void: + var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate() + add_child_autofree(room) + var chest: RoomChest = room.get_node_or_null("GardenTable") as RoomChest + assert_eq(chest.get_item_config_count(), 2) + + +func test_garden_party_has_chest_garden_storage() -> void: + var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate() + add_child_autofree(room) + assert_not_null(room.get_node_or_null("GardenStorage")) + + +func test_garden_storage_has_two_items() -> void: + var room: Node = preload("res://scenes/rooms/home/GardenParty.tscn").instantiate() + add_child_autofree(room) + var chest: RoomChest = room.get_node_or_null("GardenStorage") as RoomChest + assert_eq(chest.get_item_config_count(), 2)