public void ResourceArray_Success() { var resources = LoadAll(); var resource = resources.First(r => r.ResourceId == Guid.Parse("2844969a-3bdb-4bd5-8ecc-4bb6a76edb14")); IsNotNull(resource); IsInstanceOf <ArrayResource>(resource); var res = (ArrayResource)resource; AreEqual(new[] { 1.0f, 2.0f, 3.0f }, res.FloatArray); AreEqual(new[] { 1, 2 }, res.IntList); IsNull(res.ResourceArray); IsNotNull(res.ResourceList); AreEqual(2, res.ResourceList.Count); var resRef = ResourceRef <BaseTypesResource> .Create(Guid.Parse("7d304d1d-da59-4419-9d97-af59fb4cb5e7")); AreEqual(new List <ResourceRef <BaseTypesResource> > { resRef, resRef }, res.ResourceList); IsNotNull(res.PartArray); AreEqual(3, res.PartArray.Length); var part = res.PartArray[0]; IsNotNull(part); IsInstanceOf <ResourcePart>(part); AreEqual(1, part.IntField); AreEqual("2", part.StringField); IsNull(res.PartArray[1]); IsNull(res.PartArray[2]); IsNotNull(res.PartList); AreEqual(2, res.PartList.Count); var listPart1 = res.PartList[0]; IsNotNull(listPart1); IsInstanceOf <ResourcePart>(listPart1); AreEqual(3, listPart1.IntField); AreEqual("3", listPart1.StringField); var listPart2 = res.PartList[0]; IsNotNull(listPart2); IsInstanceOf <ResourcePart>(listPart2); AreEqual(3, listPart2.IntField); AreEqual("3", listPart2.StringField); }
public static ResourceRef <T> ToRef <T>(this T res) where T : Resource { return(ResourceRef <T> .Create(res.ResourceId)); }