Ejemplo n.º 1
0
        public void TestSerializeFeguson()
        {
            double[,] a = { { 0, 1 }, { 1, 0 } };
            double[] pi = { 1, 0 };
            double[,] f = { { 0, 1 }, { 0, 1 } };
            double[,] b = { { 1, 0 }, { 0, 1 } };

            HsmFergusonModel initialModel = new HsmFergusonModel();

            initialModel.A  = a;
            initialModel.B  = b;
            initialModel.F  = f;
            initialModel.Pi = pi;

            JsonRepresentation <HsmFergusonModel> jsonSerializer = new JsonRepresentation <HsmFergusonModel>();
            string serializedModel = jsonSerializer.Serialize(initialModel);

            Assert.IsNotNull(serializedModel);
            HsmFergusonModel deserializedModel = jsonSerializer.Deserialize(serializedModel);

            Assert.IsNotNull(deserializedModel);
            Assert.AreEqual(initialModel.Type, deserializedModel.Type);
            Assert.AreEqual(initialModel.N, deserializedModel.N);
            Assert.AreEqual(initialModel.Q, deserializedModel.Q);
            CollectionAssert.AreEqual(initialModel.A, deserializedModel.A);
            CollectionAssert.AreEqual(initialModel.B, deserializedModel.B);
            CollectionAssert.AreEqual(initialModel.F, deserializedModel.F);
            CollectionAssert.AreEqual(initialModel.Pi, deserializedModel.Pi);
        }
        /// <summary>
        /// Save meta to file immediately(blocking)
        /// </summary>
        /// <exception cref="IOException"></exception>
        public void SaveForce()
        {
            var representation = new JsonRepresentation
            {
                name             = Name,
                creationDateTime = CreationDateTime,
                updateDateTime   = UpdateDateTime
            };
            var json = JsonUtility.ToJson(representation, Debug.isDebugBuild);

            using (var streamWriter = new StreamWriter(_file, false, Encoding.UTF8))
            {
                streamWriter.Write(json);
                streamWriter.Flush();
            }
        }
Ejemplo n.º 3
0
        public void TestSerializeHsmQp()
        {
            double[,] a = { { 0, 1 }, { 1, 0 } };
            double[] pi = { 1, 0 };
            double[,] f = { { 0, 1 }, { 0, 1 } };
            double[,] b = { { 1, 0 }, { 0, 1 } };
            double[]   per = { 1, 0 };
            double[][] rho = new double[2][];
            rho[0] = new[]
            {
                0.3D, 0.7D
            };
            rho[1] = new[]
            {
                0.3D, 0.2D, 0.5D
            };

            HsmQpModel initialModel = new HsmQpModel();

            initialModel.A   = a;
            initialModel.B   = b;
            initialModel.F   = f;
            initialModel.Pi  = pi;
            initialModel.Rho = rho;
            initialModel.Per = per;

            JsonRepresentation <HsmQpModel> jsonSerializer = new JsonRepresentation <HsmQpModel>();
            string serializedModel = jsonSerializer.Serialize(initialModel);

            Assert.IsNotNull(serializedModel);
            HsmQpModel deserializedModel = jsonSerializer.Deserialize(serializedModel);

            Assert.IsNotNull(deserializedModel);
            Assert.AreEqual(initialModel.Type, deserializedModel.Type);
            Assert.AreEqual(initialModel.N, deserializedModel.N);
            Assert.AreEqual(initialModel.Q, deserializedModel.Q);
            CollectionAssert.AreEqual(initialModel.A, deserializedModel.A);
            CollectionAssert.AreEqual(initialModel.B, deserializedModel.B);
            CollectionAssert.AreEqual(initialModel.F, deserializedModel.F);
            CollectionAssert.AreEqual(initialModel.Per, deserializedModel.Per);
            CollectionAssert.AreEqual(initialModel.Pi, deserializedModel.Pi);
            Assert.AreEqual(initialModel.Rho.Length, deserializedModel.Rho.Length);
            CollectionAssert.AreEqual(initialModel.Rho[0], deserializedModel.Rho[0]);
            CollectionAssert.AreEqual(initialModel.Rho[1], deserializedModel.Rho[1]);
        }
Ejemplo n.º 4
0
        internal void FLEncode(FLEncoder *enc)
        {
            var extra = Native.FLEncoder_GetExtraInfo(enc);

            if (extra != null)
            {
                // This blob is attached to a document, so save the full metadata
                var document = GCHandle.FromIntPtr((IntPtr)extra).Target as MutableDocument;
                var database = document.Database;
                try {
                    Install(database);
                } catch (Exception) {
                    WriteLog.To.Database.W(Tag, "Error installing blob to database, throwing...");
                    throw;
                }
            }
            JsonRepresentation.FLEncode(enc);
        }
Ejemplo n.º 5
0
        public IHsmModel CreateModel(String json)
        {
            ModelType modelType = GetModelType(json);

            switch (modelType)
            {
            case ModelType.HsmFergusonModel:
            {
                var jsonRepresentation = new JsonRepresentation <HsmFergusonModel>();
                return(jsonRepresentation.Deserialize(json));
            }

            case ModelType.HsmQpModel: {
                var jsonRepresentation = new JsonRepresentation <HsmQpModel>();
                return(jsonRepresentation.Deserialize(json));
            }

            default:
            {
                throw new NotImplementedException("Model Type is not supported");
            }
            }
        }
Ejemplo n.º 6
0
 internal void FLSlotSet(FLSlot *slot)
 {
     JsonRepresentation.FLSlotSet(slot);
 }
Ejemplo n.º 7
0
        public void ParameterValueFormat(string expected, params JsonAttribute[] jsonAttributes)
        {
            JsonRepresentation jr = new JsonRepresentation(jsonAttributes);

            Assert.AreEqual(expected, jr.GetAttributeValue());
        }