public void GeneratePreviousActionInput()
        {
            var inputTensor = new TensorProxy
            {
                shape     = new long[] { 2, 2 },
                valueType = TensorProxy.TensorType.Integer
            };
            const int batchSize  = 4;
            var       agentInfos = GetFakeAgents();
            var       alloc      = new TensorCachingAllocator();
            var       generator  = new PreviousActionInputGenerator(alloc);
            var       agent0     = agentInfos[0];
            var       agent1     = agentInfos[1];
            var       inputs     = new List <AgentInfoSensorsPair>
            {
                new AgentInfoSensorsPair {
                    agentInfo = agent0._Info, sensors = agent0.sensors
                },
                new AgentInfoSensorsPair {
                    agentInfo = agent1._Info, sensors = agent1.sensors
                },
            };

            generator.Generate(inputTensor, batchSize, inputs);
            Assert.IsNotNull(inputTensor.data);
            Assert.AreEqual(inputTensor.data[0, 0], 1);
            Assert.AreEqual(inputTensor.data[0, 1], 2);
            Assert.AreEqual(inputTensor.data[1, 0], 3);
            Assert.AreEqual(inputTensor.data[1, 1], 4);
            alloc.Dispose();
        }
        public void GeneratePreviousActionInput()
        {
            var inputTensor = new Tensor()
            {
                Shape     = new long[] { 2, 2 },
                ValueType = Tensor.TensorType.Integer
            };
            var batchSize  = 4;
            var agentInfos = GetFakeAgentInfos();

            var generator = new PreviousActionInputGenerator();

            generator.Generate(inputTensor, batchSize, agentInfos);
            Assert.IsNotNull(inputTensor.Data as int[, ]);
            Assert.AreEqual((inputTensor.Data as int[, ])[0, 0], 1);
            Assert.AreEqual((inputTensor.Data as int[, ])[0, 1], 2);
            Assert.AreEqual((inputTensor.Data as int[, ])[1, 0], 3);
            Assert.AreEqual((inputTensor.Data as int[, ])[1, 1], 4);
        }
        public void GeneratePreviousActionInput()
        {
            var inputTensor = new TensorProxy()
            {
                Shape     = new long[] { 2, 2 },
                ValueType = TensorProxy.TensorType.Integer
            };
            var batchSize  = 4;
            var agentInfos = GetFakeAgentInfos();
            var alloc      = new TensorCachingAllocator();
            var generator  = new PreviousActionInputGenerator(alloc);

            generator.Generate(inputTensor, batchSize, agentInfos);
            Assert.IsNotNull(inputTensor.Data);
            Assert.AreEqual(inputTensor.Data[0, 0], 1);
            Assert.AreEqual(inputTensor.Data[0, 1], 2);
            Assert.AreEqual(inputTensor.Data[1, 0], 3);
            Assert.AreEqual(inputTensor.Data[1, 1], 4);
            alloc.Dispose();
        }