public void SubtypeTest() { var expected = new SubtypeClass { Field = new SubclassB { SomethingForClassB = 33 }, Field2 = new SubclassA() }; var actual = Roundtrip(expected); Assert.AreEqual(SubclassType.B, actual.Subtype); Assert.IsTrue(actual.Field is SubclassB); }
public static string GetSubtype(string buildCode, string genotype) { SubtypeClass subtypeClass = SubtypeFactory.ClassesByID[GenotypeFactory.GenotypesByName[genotype].Subtypes]; List <SubtypeEntry> allSubtypes = subtypeClass.GetAllSubtypes(); for (int i = 0; i < allSubtypes.Count; i++) { if (allSubtypes[i].Code == buildCode[1].ToString()) { return(allSubtypes[i].Name); } } return(string.Empty); }
public void SubSubtypeTest() { var expected = new SubtypeClass { Field = new SubSubclassC(3) { SomeSuperStuff = 1, SomethingForClassB = 2 }, Field2 = new SubclassA() }; var actual = Roundtrip(expected); Assert.AreEqual(SubclassType.C, actual.Subtype); Assert.IsTrue(actual.Field is SubSubclassC); Assert.AreEqual(actual.Field.SomeSuperStuff, expected.Field.SomeSuperStuff); Assert.AreEqual(((SubSubclassC)actual.Field).SomethingForClassB, ((SubSubclassC)expected.Field).SomethingForClassB); Assert.AreEqual(((SubSubclassC)actual.Field).SomethingForClassC, ((SubSubclassC)expected.Field).SomethingForClassC); }