public void MaskReset() { var bp = new BrainParameters { vectorActionSpaceType = SpaceType.Discrete, vectorActionSize = new[] { 4, 5, 6 } }; var masker = new DiscreteActionMasker(bp); masker.SetMask(1, new[] { 1, 2, 3 }); masker.ResetMask(); var mask = masker.GetMask(); for (var i = 0; i < 15; i++) { Assert.IsFalse(mask[i]); } }
public void ThrowsError() { var bp = new BrainParameters { vectorActionSpaceType = SpaceType.Discrete, vectorActionSize = new[] { 4, 5, 6 } }; var masker = new DiscreteActionMasker(bp); Assert.Catch <UnityAgentsException>( () => masker.SetMask(0, new[] { 5 })); Assert.Catch <UnityAgentsException>( () => masker.SetMask(1, new[] { 5 })); masker.SetMask(2, new[] { 5 }); Assert.Catch <UnityAgentsException>( () => masker.SetMask(3, new[] { 1 })); masker.GetMask(); masker.ResetMask(); masker.SetMask(0, new[] { 0, 1, 2, 3 }); Assert.Catch <UnityAgentsException>( () => masker.GetMask()); }