Ejemplo n.º 1
0
    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));
    }
Ejemplo n.º 2
0
    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));
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 5
0
    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));
    }