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 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 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 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)); }