| | using System; |
| | using System.Linq; |
| | using System.Text; |
| | using NUnit.Framework; |
| | using Google.Protobuf; |
| | using Unity.MLAgents.Analytics; |
| | using Unity.MLAgents.SideChannels; |
| | using Unity.MLAgents.CommunicatorObjects; |
| |
|
| |
|
| | namespace Unity.MLAgents.Tests |
| | { |
| | |
| | |
| | |
| | |
| | |
| | public class TrainingAnalyticsSideChannelTests |
| | { |
| | [Test] |
| | public void TestTrainingEnvironmentReceived() |
| | { |
| | var anyMsg = Google.Protobuf.WellKnownTypes.Any.Pack(new TrainingEnvironmentInitialized()); |
| | var anyMsgBytes = anyMsg.ToByteArray(); |
| | var sideChannel = new TrainingAnalyticsSideChannel(); |
| | using (new AnalyticsUtils.DisableAnalyticsSending()) |
| | { |
| | sideChannel.ProcessMessage(anyMsgBytes); |
| | } |
| | } |
| |
|
| | [Test] |
| | public void TestTrainingBehaviorReceived() |
| | { |
| | var anyMsg = Google.Protobuf.WellKnownTypes.Any.Pack(new TrainingBehaviorInitialized()); |
| | var anyMsgBytes = anyMsg.ToByteArray(); |
| | var sideChannel = new TrainingAnalyticsSideChannel(); |
| | using (new AnalyticsUtils.DisableAnalyticsSending()) |
| | { |
| | sideChannel.ProcessMessage(anyMsgBytes); |
| | } |
| | } |
| |
|
| | [Test] |
| | public void TestInvalidProtobufMessage() |
| | { |
| | |
| | var badBytes = Encoding.ASCII.GetBytes("Lorem ipsum"); |
| | var sideChannel = new TrainingAnalyticsSideChannel(); |
| | using (new AnalyticsUtils.DisableAnalyticsSending()) |
| | { |
| | sideChannel.ProcessMessage(badBytes); |
| | } |
| |
|
| | |
| | var anyMsg = Google.Protobuf.WellKnownTypes.Any.Pack(new TrainingBehaviorInitialized()); |
| | var anyMsgBytes = anyMsg.ToByteArray(); |
| | var truncatedMessage = new ArraySegment<byte>(anyMsgBytes, 0, anyMsgBytes.Length - 1).ToArray(); |
| | using (new AnalyticsUtils.DisableAnalyticsSending()) |
| | { |
| | sideChannel.ProcessMessage(truncatedMessage); |
| | } |
| | } |
| | } |
| | } |
| |
|