public void MoleculeSymmetricalSitesInWrongStates() { MoleculeDef moleculeDef = Resources.Load("Tests/Molecules/Basic") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[6]; components1[0] = new ComponentPattern("A", "0", false); components1[1] = new ComponentPattern("A", "1", false); components1[2] = new ComponentPattern("A", "1", false); components1[3] = new ComponentPattern("A", "0", false); components1[4] = new ComponentPattern("A", "2", false); components1[5] = new ComponentPattern("A", "2", false); ComponentPattern[] components2 = new ComponentPattern[6]; components2[0] = new ComponentPattern("A", "2", false); components2[1] = new ComponentPattern("A", "0", false); components2[2] = new ComponentPattern("A", "0", false); components2[3] = new ComponentPattern("A", "2", false); components2[4] = new ComponentPattern("A", "0", false); components2[5] = new ComponentPattern("A", "1", false); MoleculePattern molecule1 = new MoleculePattern(moleculeDef, components1); MoleculePattern molecule2 = new MoleculePattern(moleculeDef, components2); Assert.IsFalse(molecule1.Matches(molecule2)); Assert.IsFalse(molecule2.Matches(molecule1)); }
public void MoleculeUniqueSites() { MoleculeDef moleculeDef = Resources.Load("Tests/Molecules/Basic") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[6]; components1[0] = new ComponentPattern("A", "0", false); components1[1] = new ComponentPattern("B", "0", false); components1[2] = new ComponentPattern("C", "1", false); components1[3] = new ComponentPattern("D", "0", false); components1[4] = new ComponentPattern("E", "2", false); components1[5] = new ComponentPattern("F", "2", false); ComponentPattern[] components2 = new ComponentPattern[6]; components2[0] = new ComponentPattern("B", "0", false); components2[1] = new ComponentPattern("D", "0", false); components2[2] = new ComponentPattern("E", "2", false); components2[3] = new ComponentPattern("A", "0", false); components2[4] = new ComponentPattern("F", "2", false); components2[5] = new ComponentPattern("C", "1", false); MoleculePattern molecule1 = new MoleculePattern(moleculeDef, components1); MoleculePattern molecule2 = new MoleculePattern(moleculeDef, components2); Assert.IsTrue(molecule1.Matches(molecule2)); Assert.IsTrue(molecule2.Matches(molecule1)); }
public void EnumIsNotComponent() { var orm = GetOrm(); var p = new ComponentPattern(orm.Object); p.Match(typeof(Something)).Should().Be.False(); }
public void Molecule3TypesOfSites() { MoleculeDef moleculeDef = Resources.Load("Tests/Molecules/Basic") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[6]; components1[0] = new ComponentPattern("p", "0", false); components1[1] = new ComponentPattern("p", "0", false); components1[2] = new ComponentPattern("p", "1", false); components1[3] = new ComponentPattern("p", "0", false); components1[4] = new ComponentPattern("active", "0", false); components1[5] = new ComponentPattern("inhibit", "0", false); ComponentPattern[] components2 = new ComponentPattern[6]; components2[0] = new ComponentPattern("active", "0", false); components2[1] = new ComponentPattern("inhibit", "0", false); components2[2] = new ComponentPattern("p", "1", false); components2[3] = new ComponentPattern("p", "0", false); components2[4] = new ComponentPattern("p", "0", false); components2[5] = new ComponentPattern("p", "0", false); MoleculePattern molecule1 = new MoleculePattern(moleculeDef, components1); MoleculePattern molecule2 = new MoleculePattern(moleculeDef, components2); Assert.IsTrue(molecule1.Matches(molecule2)); Assert.IsTrue(molecule2.Matches(molecule1)); }
public void ClassWithPoidFieldIsNotComponent() { var orm = GetOrm(); var p = new ComponentPattern(orm.Object); p.Match(typeof(Entity)).Should().Be.False(); }
public void ClassWithoutPoidIsComponent() { var orm = GetOrm(); var p = new ComponentPattern(orm.Object); p.Match(typeof(AComponent)).Should().Be.True(); }
public void MoleculePatternDifferentSpeciesSameSites() { MoleculeDef moleculeDef1 = Resources.Load("Tests/Molecules/A test") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[3]; components1[0] = new ComponentPattern("a", "0", false); components1[1] = new ComponentPattern("b", "0", false); components1[2] = new ComponentPattern("c", "0", false); MoleculeDef moleculeDef2 = Resources.Load("Tests/Molecules/Basic") as MoleculeDef; ComponentPattern[] components2 = new ComponentPattern[3]; components2[0] = new ComponentPattern("a", "0", false); components2[1] = new ComponentPattern("b", "0", false); components2[2] = new ComponentPattern("c", "0", false); MoleculePattern pattern1 = new MoleculePattern(moleculeDef1, components1); MoleculePattern pattern2 = new MoleculePattern(moleculeDef2, components2); if (debug) { Debug.Log("MoleculePatternDifferentSpeciesSameSites: " + pattern1.GetHashCode() + " != " + pattern2.GetHashCode() + " ? " + pattern1.Equals(pattern2)); } Assert.IsTrue(HashCodesMatchEquals(pattern1, pattern2)); }
public void ComplexPatternSpeciesInDifferentOrder() { MoleculeDef moleculeDef1 = Resources.Load("Tests/Molecules/A test") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[3]; components1[0] = new ComponentPattern("a", "0", false); components1[1] = new ComponentPattern("b", "0", false); components1[2] = new ComponentPattern("c", "0", false); MoleculePattern pattern1 = new MoleculePattern(moleculeDef1, components1); MoleculeDef moleculeDef2 = Resources.Load("Tests/Molecules/B test") as MoleculeDef; ComponentPattern[] components2 = new ComponentPattern[3]; components2[0] = new ComponentPattern("a", "0", false); components2[1] = new ComponentPattern("b", "0", false); components2[2] = new ComponentPattern("c", "0", false); MoleculePattern pattern2 = new MoleculePattern(moleculeDef2, components2); ComplexPattern complexPattern1 = new ComplexPattern(new MoleculePattern[] { pattern1, pattern2 }); ComplexPattern complexPattern2 = new ComplexPattern(new MoleculePattern[] { pattern2, pattern1 }); if (debug) { Debug.Log("ComplexPatternSpeciesInDifferentOrder: " + complexPattern1.GetHashCode() + " != " + complexPattern2.GetHashCode() + " ? " + complexPattern1.Equals(complexPattern2)); } Assert.IsTrue(HashCodesMatchEquals(complexPattern1, complexPattern2)); }
public IEnumerator SetMoleculeState() { Reactor reactor = CreateReactor("SetMoleculeState"); yield return(new WaitForEndOfFrame()); Molecule molecule = reactor.GetComponentInChildren <Molecule>(); MoleculeDef moleculeDef = Resources.Load("Tests/Molecules/Tester") as MoleculeDef; ComponentPattern[] components = new ComponentPattern[6]; components[0] = new ComponentPattern("p", "1", false); components[1] = new ComponentPattern("p", "1", false); components[2] = new ComponentPattern("p", "0", false); components[3] = new ComponentPattern("p", "0", false); components[4] = new ComponentPattern("active", "1", false); components[5] = new ComponentPattern("inhibit", "0", false); MoleculePattern pattern = new MoleculePattern(moleculeDef, components); yield return(new WaitForSeconds(0.1f)); pattern.SetStateOfMolecule(molecule); AssertIsTrue(pattern.Matches(molecule)); DestroyReactor(reactor); }
public void Molecule1TypeOfSites() { MoleculeDef moleculeDef = Resources.Load("Tests/Molecules/Basic") as MoleculeDef; ComponentPattern[] components1 = new ComponentPattern[3]; components1[0] = new ComponentPattern("A", "0", false); components1[1] = new ComponentPattern("A", "0", false); components1[2] = new ComponentPattern("A", "1", false); ComponentPattern[] components2 = new ComponentPattern[3]; components2[0] = new ComponentPattern("A", "1", false); components2[1] = new ComponentPattern("A", "0", false); components2[2] = new ComponentPattern("A", "0", false); MoleculePattern molecule1 = new MoleculePattern(moleculeDef, components1); MoleculePattern molecule2 = new MoleculePattern(moleculeDef, components2); Assert.IsTrue(molecule1.Matches(molecule2)); Assert.IsTrue(molecule2.Matches(molecule1)); }
public void ClassWithPoidIsNotComponent() { var orm = GetOrm(); var p = new ComponentPattern(orm.Object); p.Match(typeof(AEntity)).Should().Be.False(); }
public void ClassWithoutPoidIsComponent() { var orm = GetOrm(); var p = new ComponentPattern(orm.Object); p.Match(typeof (AComponent)).Should().Be.True(); }