public virtual void TestToArray_Empty() { BitArray empty = new BitArray(0); Assert.IsTrue(Compares.AreDeepEqual(Array.Empty <int>(), JumboCyclicVertexSearch.ToArray(empty))); }
public virtual void Connected() { int[][] g = { new[] { 1 }, new[] { 0, 2 }, new[] { 1, 3 }, new[] { 2 } }; Assert.AreEqual(1, new ConnectedComponents(g).NumberOfComponents); Assert.IsTrue(Compares.AreEqual(new int[] { 1, 1, 1, 1 }, new ConnectedComponents(g).GetComponents())); }
public void TestCreate_2D() { var m_container = new Mock <IAtomContainer>(); var container = m_container.Object; m_container.SetupGet(n => n.Atoms.Count).Returns(5); var m_c1 = new Mock <IAtom>(); var c1 = m_c1.Object; var m_o2 = new Mock <IAtom>(); var o2 = m_o2.Object; var m_n3 = new Mock <IAtom>(); var n3 = m_n3.Object; var m_c4 = new Mock <IAtom>(); var c4 = m_c4.Object; var m_h5 = new Mock <IAtom>(); var h5 = m_h5.Object; m_container.SetupGet(n => n.Atoms[0]).Returns(c1); m_container.SetupGet(n => n.Atoms[1]).Returns(o2); m_container.SetupGet(n => n.Atoms[2]).Returns(n3); m_container.SetupGet(n => n.Atoms[3]).Returns(c4); m_container.SetupGet(n => n.Atoms[4]).Returns(h5); Vector2 p1 = new Vector2(1.23, -0.29); Vector2 p2 = new Vector2(-0.30, -0.29); Vector2 p3 = new Vector2(2.00, -1.63); Vector2 p4 = new Vector2(2.00, 1.03); Vector2 p5 = new Vector2(2.32, -0.29); m_c1.SetupGet(n => n.Point2D).Returns(p1); m_o2.SetupGet(n => n.Point2D).Returns(p2); m_n3.SetupGet(n => n.Point2D).Returns(p3); m_c4.SetupGet(n => n.Point2D).Returns(p4); m_h5.SetupGet(n => n.Point2D).Returns(p5); var m_c1c4 = new Mock <IBond>(); var c1c4 = m_c1c4.Object; var m_c1o2 = new Mock <IBond>(); var c1o2 = m_c1o2.Object; var m_c1n3 = new Mock <IBond>(); var c1n3 = m_c1n3.Object; var m_c1h5 = new Mock <IBond>(); var c1h5 = m_c1h5.Object; int[][] graph = new int[][] { new[] { 1, 2, 3, 4 }, new[] { 0 }, new[] { 0 }, new[] { 0 }, new[] { 0 } }; m_container.Setup(n => n.GetConnectedBonds(c1)).Returns(new[] { c1c4, c1o2, c1n3, c1h5 }); // let's say c1 is a chiral carbon m_c1.SetupGet(n => n.Hybridization).Returns(Hybridization.SP3); // with a hatch bond from c1 to n3 m_c1n3.SetupGet(n => n.Stereo).Returns(BondStereo.Down); m_c1n3.SetupGet(n => n.Begin).Returns(c1); m_c1n3.SetupGet(n => n.End).Returns(n3); m_c1o2.SetupGet(n => n.Stereo).Returns(BondStereo.None); m_c1o2.SetupGet(n => n.Begin).Returns(c1); m_c1o2.SetupGet(n => n.End).Returns(o2); m_c1c4.SetupGet(n => n.Stereo).Returns(BondStereo.None); m_c1c4.SetupGet(n => n.Begin).Returns(c1); m_c1c4.SetupGet(n => n.End).Returns(c4); m_c1h5.SetupGet(n => n.Stereo).Returns(BondStereo.None); m_c1h5.SetupGet(n => n.Begin).Returns(c1); m_c1h5.SetupGet(n => n.End).Returns(h5); IStereoEncoder encoder = new GeometricTetrahedralEncoderFactory().Create(container, graph); Assert.AreEqual(1, ExtractEncoders(encoder).Count); GeometricParity geometricParity = GetGeometricParity(ExtractEncoders(encoder)[0]); Assert.IsTrue(geometricParity is Tetrahedral2DParity); Assert.IsTrue(Compares.AreDeepEqual(new Vector2[] { p2, p3, p4, p5 }, Coords2D(geometricParity))); }
public void Bug844() { Assert.IsTrue(Compares.AreDeepEqual(new int[] { 1, 1 }, SMARTSSearchTest.Match("[*R0]-[$([NRD3][CR]=O)]", "N1(CC)C(=O)CCCC1"))); }
/// <summary>Check the electron contribution is the same as expected.</summary> static void Test(IAtomContainer m, params int[] expected) { AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(m); Assert.IsTrue(Compares.AreDeepEqual(expected, model.Contribution(m, new RingSearch(m)))); }
public void NestedRecursion() { Assert.IsTrue(Compares.AreDeepEqual(new int[] { 2, 2 }, SMARTSSearchTest.Match("[$(*C[$(*C)$(**N)])]", "CCCCN"))); Assert.IsTrue(Compares.AreDeepEqual(new int[] { 1, 1 }, SMARTSSearchTest.Match("[$(*C[$(*C)$(**N)])]", "CCN"))); }
public void RecursiveComponentGrouping() { Assert.IsTrue(Compares.AreDeepEqual(new int[] { 1, 1 }, SMARTSSearchTest.Match("[O;D1;$(([a,A]).([A,a]))][CH]=O", "OC=O.c1ccccc1"))); Assert.IsTrue(Compares.AreDeepEqual(new int[] { 0, 0 }, SMARTSSearchTest.Match("[O;D1;$(([a,A]).([A,a]))][CH]=O", "OC=O"))); }
public void TestReadParameterSets() { MMFF94BasedParameterSetReader mmff94bpsr = new MMFF94BasedParameterSetReader(); mmff94bpsr.ReadParameterSets(); var parameterSet = mmff94bpsr.GetParamterSet(); //test atom type var atomtypes = mmff94bpsr.AtomTypes; IAtomType atomtype = atomtypes[0]; string sid = "C"; Assert.AreEqual(sid, atomtype.AtomTypeName); string rootType = "C"; Assert.AreEqual(rootType, atomtype.Symbol); string smaxbond = "4"; Assert.AreEqual(int.Parse(smaxbond, NumberFormatInfo.InvariantInfo), (int)atomtype.FormalNeighbourCount); string satomNr = "6"; Assert.AreEqual(int.Parse(satomNr, NumberFormatInfo.InvariantInfo), (int)atomtype.AtomicNumber); //atom //TODO testing //bond // string scode = "0"; string sid1 = "C"; string sid2 = "C"; string slen = "1.508"; string sk2 = "306.432"; string sk3 = "-612.865"; string sk4 = "715.009"; string sbci = "0.0000"; string bondkey = "bond" + sid1 + ";" + sid2; var bonddata = new List <double> { (double)(double.Parse(slen, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(sk2, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(sk3, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(sk4, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(sbci, NumberFormatInfo.InvariantInfo)) }; //strbnd // scode = "0"; sid1 = "C"; sid2 = "C"; string sid3 = "C"; string value1 = "14.82507"; string value2 = "14.82507"; string strbndkey = "strbnd" + sid1 + ";" + sid2 + ";" + sid3; var strbnddata = new List <double> { (double)(double.Parse(value1, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value2, NumberFormatInfo.InvariantInfo)) }; //angle // scode = "0"; sid1 = "C="; sid2 = "C"; sid3 = "N"; value1 = "105.837"; value2 = "86.1429"; string value3 = "-34.5494"; string value4 = "0"; string anglekey = "angle" + sid1 + ";" + sid2 + ";" + sid3; var angledata = new List <double> { (double)(double.Parse(value1, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value2, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value3, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value4, NumberFormatInfo.InvariantInfo)) }; //torsion // scode = "0"; sid1 = "HC"; sid2 = "C"; sid3 = "C"; string sid4 = "HC"; value1 = "0.142"; value2 = "0.693"; value3 = "0.157"; value4 = "0.000"; string value5 = "0.000"; string torsionkey = "torsion" + ";" + sid1 + ";" + sid2 + ";" + sid3 + ";" + sid4; var torsiondata = new List <double> { (double)(double.Parse(value1, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value2, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value3, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value4, NumberFormatInfo.InvariantInfo)), (double)(double.Parse(value5, NumberFormatInfo.InvariantInfo)) }; //opbend // scode = "0"; sid1 = "O="; sid2 = "C="; sid3 = "CR4R"; sid4 = "CR4R"; value1 = "10.86681780"; string opbendkey = "opbend" + ";" + sid1 + ";" + sid2 + ";" + sid3 + ";" + sid4; var opbenddata = new List <double> { (double)(double.Parse(value1, NumberFormatInfo.InvariantInfo)) }; //TODO data lines testing foreach (var e in parameterSet) { if (e.Key.Equals(bondkey)) { Assert.IsTrue(Compares.AreDeepEqual(bonddata, e.Value)); } else if (e.Key.Equals(strbndkey)) { Assert.IsTrue(Compares.AreDeepEqual(strbnddata, e.Value)); } else if (e.Key.Equals(anglekey)) { Assert.IsTrue(Compares.AreDeepEqual(angledata, e.Value)); } else if (e.Key.Equals(torsionkey)) { Assert.IsTrue(Compares.AreDeepEqual(torsiondata, e.Value)); } else if (e.Key.Equals(opbendkey)) { Assert.IsTrue(Compares.AreDeepEqual(opbenddata, e.Value)); } } }
static void Assert_AreEqual(object expected, object actual) { Assert.IsTrue(Compares.AreDeepEqual(expected, actual)); }
public void CalculateSummaryEntity_ListOfSimpleObjects_ReturnsRightSummaryEntity(CalculateSummaryEntityUnitTestsTestsModel dataTest) { var actualResult = dataTest.Input.CalculateSummaryEntity(); Assert.That(actualResult, Compares.To(dataTest.Expected)); }
public void FavorCarbonyl() { IAtomContainer container = CDK.SmilesParser.ParseSmiles("P([O-])=O"); Assert.IsTrue(Compares.AreEqual(new long[] { 3, 2, 1 }, InChINumbersTools.GetUSmilesNumbers(container))); }
public void ParseStandard() { Assert.IsTrue(Compares.AreEqual( new long[] { 3, 2, 1 }, InChINumbersTools.ParseUSmilesNumbers("AuxInfo=1/0/N:3,2,1/rA:3OCC/rB:s1;s2;/rC:;;;", Mock(3)))); }