@@ -53,4 +53,38 @@ void malformedRowsAreIgnoredWithoutLosingValidBindings() {
5353 StockLinkBindingData loaded = StockLinkBindingData .load (root , null );
5454 assertTrue (loaded .save (new CompoundTag (), null ).getList ("Bindings" , Tag .TAG_COMPOUND ).isEmpty ());
5555 }
56+ @ Test
57+ void sharedCreateFrequencyDoesNotMakeDifferentFactoriesInterchangeable () {
58+ UUID network = UUID .randomUUID ();
59+ UUID owner = UUID .randomUUID ();
60+ UUID team = UUID .randomUUID ();
61+ StockLinkBindingData .Binding factoryA = new StockLinkBindingData .Binding (
62+ "minecraft:overworld" , 1L , network , UUID .randomUUID (), owner , team );
63+ StockLinkBindingData .Binding anotherLinkInFactoryA = new StockLinkBindingData .Binding (
64+ "minecraft:overworld" , 2L , network , factoryA .factoryId (), owner , team );
65+ StockLinkBindingData .Binding factoryBOnSameFrequency = new StockLinkBindingData .Binding (
66+ "minecraft:overworld" , 3L , network , UUID .randomUUID (), owner , team );
67+
68+ assertTrue (StockLinkBindingData .belongsToSameFactory (factoryA , anotherLinkInFactoryA ));
69+ assertFalse (StockLinkBindingData .belongsToSameFactory (factoryA , factoryBOnSameFrequency ));
70+ assertFalse (StockLinkBindingData .belongsToSameFactory (factoryA , null ));
71+ }
72+
73+ @ Test
74+ void factoryIdentityComparisonIncludesOwnerAndTeam () {
75+ UUID network = UUID .randomUUID ();
76+ UUID factory = UUID .randomUUID ();
77+ UUID owner = UUID .randomUUID ();
78+ UUID team = UUID .randomUUID ();
79+ StockLinkBindingData .Binding expected = new StockLinkBindingData .Binding (
80+ "minecraft:overworld" , 1L , network , factory , owner , team );
81+ StockLinkBindingData .Binding differentOwner = new StockLinkBindingData .Binding (
82+ "minecraft:overworld" , 2L , network , factory , UUID .randomUUID (), team );
83+ StockLinkBindingData .Binding differentTeam = new StockLinkBindingData .Binding (
84+ "minecraft:overworld" , 3L , network , factory , owner , UUID .randomUUID ());
85+
86+ assertFalse (StockLinkBindingData .belongsToSameFactory (expected , differentOwner ));
87+ assertFalse (StockLinkBindingData .belongsToSameFactory (expected , differentTeam ));
88+ }
89+
5690}
0 commit comments