예제 #1
0
        public void WritesReadsModelResponse()
        {
            const string regionName = "test region name";
            const string regionType = "test region type";

            var observer = new ObserverDefinition(1, 2, "foo");
            var data     = new byte[] { 1, 2, 3 };

            var observerData = new ObserverDataContainer(observer,
                                                         new ObserverData(metadata: null, plainData: data, floatData: null));

            var addedRegions = new List <RegionModel>
            {
                new RegionModel(1, regionName, regionType, new Vector3(10, 20, 30), new Vector3(40, 30, 20))
            };
            var message = ModelResponseBuilder.Build(addedRegions: addedRegions,
                                                     observers: new List <ObserverDataContainer> {
                observerData
            });

            ModelResponse modelResponse = message.GetResponse(new ModelResponse());

            Assert.Equal(regionName, modelResponse.GetAddedRegions(0).Name);
            Assert.Equal(observer.Type, modelResponse.GetObserverResults(0).Observer.Type);
            Assert.Equal(data[0], modelResponse.GetObserverResults(0).GetPlainData(0));
        }
        public void LoadsObserverData()
        {
            var observerDefinition = new ObserverDefinition(1, 1, "foo");
            var metadata           = new int[] { 28, 28, 3 };
            var plainData          = new byte[] { 1, 2, 3 };
            var floatData          = new float[] { 4.5f, 6.7f };

            var observer = new ObserverDataContainer(
                observerDefinition, new ObserverData(metadata: metadata, plainData: plainData, floatData: floatData));

            ResponseMessage diff = ModelResponseBuilder.Build(observers: new List <ObserverDataContainer> {
                observer
            });

            ApplyModelDiff(diff);

            var observerData = m_model.Observers.Values.First();

            Assert.Equal(metadata, observerData.Metadata);
            Assert.Equal(plainData, observerData.PlainData);
            Assert.Equal(floatData, observerData.FloatData);
        }