Пример #1
0
        public static IReadOnlyCollection <PartialResource> ObjectsToResources(IReadOnlyList <ObganismObject> obganismObjects)
        {
            var resources = new PartialResource[obganismObjects.Count];

            for (var i = 0; i < resources.Length; ++i)
            {
                resources[i] = ObjectToResource(obganismObjects[i]);
            }

            return(resources);
        }
Пример #2
0
        public static void AssertResource(PartialResource expected, PartialResource actual)
        {
            Assert.AreEqual(expected.Name, actual.Name, "Resource names didn't match.");
            Assert.AreEqual(expected.GenericTemplates.Count, actual.GenericTemplates.Count, "Resource's generic templates are not the same count.");
            Assert.AreEqual(expected.Fields.Count, actual.Fields.Count, "Resource's fields are not the same count.");

            foreach (var(i, expectedTemplate) in expected.GenericTemplates)
            {
                Assert.AreEqual(expectedTemplate, actual.GenericTemplates[i], $"Resource generic templates [{ i }] didn't match");
            }

            foreach (var(fieldName, expectedFieldType) in expected.Fields)
            {
                AssertType(expectedFieldType, actual.Fields[fieldName]);
            }
        }
Пример #3
0
        public static PartialResource ObjectToResource(ObganismObject obganismObject)
        {
            var resource = new PartialResource {
                Name = obganismObject.Type.Name
            };

            var i = 0;

            foreach (var obganismGeneric in obganismObject.Type.Generics)
            {
                resource.GenericTemplates[i++] = obganismGeneric.Name;
            }

            foreach (var obganismProperty in obganismObject.Properties)
            {
                resource.Fields[obganismProperty.Name] = PropertyToFieldType(obganismProperty);
            }

            return(resource);
        }
Пример #4
0
 protected override bool OnAbort(PartialResource res, Exception e)
 {
     return(base.OnAbort(res, e));
 }