public void SimpleIntegrationTest() { var n = new Network(); n.ReadFile(@"C:\Users\seb\Dropbox\Shared (Mac)\smile-export.xdsl"); var tStringBuilder = new CoReTypeName("LSystem/Text/StringBuilder"); var rec = new SmilePBNRecommender(tStringBuilder, n); var query = new Query { type = tStringBuilder, classCtx = new CoReTypeName("LCC"), methodCtx = new CoReMethodName("LMC.m()LV;"), definition = DefinitionSites.CreateDefinitionByConstructor("LSystem/Text/StringBuilder.<init>()LSystem/Void;") }; var call = CallSites.CreateReceiverCallSite("LSystem/Text/StringBuilder.ToString()LSystem/String;"); PrintProposals("before", rec.Query(query)); query.sites.Add(call); PrintProposals("added ToString", rec.Query(query)); query.sites.Remove(call); PrintProposals("removed ToString", rec.Query(query)); }
public static void CharactersAndNumbersAreNotConverted() { const string expected = "aA1_"; var actual = SmilePBNRecommender.ConvertToLegalSmileName(expected); Assert.AreEqual(expected, actual); }
public static void PreceedingNumbersAreHandled() { var actual = SmilePBNRecommender.ConvertToLegalSmileName("1"); const string expected = "x1"; Assert.AreEqual(expected, actual); }
public void Equality_DifferentType() { var a = new SmilePBNRecommender(new CoReTypeName("LT"), new Network()); var b = new SmilePBNRecommender(new CoReTypeName("LT2"), new Network()); Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public static void NonAlphanumericCharactersAreConvertedToUnderscore() { const string input = "aA1!\"§$%&/()=?{[]}-+*#;,:.><|öäüÖÄÜ^€@"; var actual = SmilePBNRecommender.ConvertToLegalSmileName(input); const string expected = "aA1___________________________________"; Assert.AreEqual(expected, actual); }
public void Equality_DifferentNetwork() { var n = new Network(); n.AddNode(Network.NodeType.Cpt, "some_node"); var a = new SmilePBNRecommender(new CoReTypeName("LT"), n); var b = new SmilePBNRecommender(new CoReTypeName("LT"), new Network()); Assert.AreNotEqual(a, b); Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); }
public void ShouldSetEvidenceOnCallSite() { var query = Fix.CreateDefaultQuery(); query.sites.Add(CallSites.CreateReceiverCallSite("LType.Init()LVoid;")); _uut.Query(query); var actual = _network.GetEvidenceId(SmilePBNRecommender.ConvertToLegalSmileName("C_LType.Init()LVoid;")); Assert.AreEqual(Constants.StateTrue, actual); }
private static void AddMethod(Network net, int patternNodeHandle, string methodName, double[] probabilities) { var nodeId = "C_" + SmilePBNRecommender.ConvertToLegalSmileName(methodName); AddNode( net, patternNodeHandle, nodeId, methodName, new[] { SmilePBNRecommenderConstants.StateTrue, SmilePBNRecommenderConstants.StateFalse }, Expand(probabilities)); }
public void Load_HappyPath() { var a = Fix.CreateNetwork(); var b = Fix.CreateNetwork(); Assert.AreEqual(a, b); var actual = _sut.Load(SomeType()); var expected = new SmilePBNRecommender(SomeType(), Fix.CreateNetwork()); Assert.AreEqual(expected, actual); }
public void ShouldSetEvidenceOnDefinitionSite() { var query = Fix.CreateDefaultQuery(); query.definition = DefinitionSites.CreateDefinitionByReturn("LType.Create()LType;"); _uut.Query(query); var expected = SmilePBNRecommender.ConvertToLegalSmileName("RETURN:LType.Create()LType;"); var actual = _network.GetEvidenceId(Constants.DefinitionTitle); Assert.AreEqual(expected, actual); }
public void ShouldSetEvidenceOnMethodContext() { var query = Fix.CreateDefaultQuery(); query.methodCtx = new CoReMethodName("LType.M()LVoid;"); _uut.Query(query); var expected = SmilePBNRecommender.ConvertToLegalSmileName("LType.M()LVoid;"); var actual = _network.GetEvidenceId(Constants.MethodContextTitle); Assert.AreEqual(expected, actual); }
private static void SetNodeProperties(this Network net, int nodeHandle, IEnumerable <string> states, double[] probs) { foreach (var state in states) { var convertedName = SmilePBNRecommender.ConvertToLegalSmileName(state); net.AddOutcome(nodeHandle, convertedName); } //Remove default states net.DeleteOutcome(nodeHandle, "State0"); net.DeleteOutcome(nodeHandle, "State1"); net.SetNodeDefinition(nodeHandle, probs); }
public void SetUp() { _network = Fix.CreateNetwork(); _uut = new SmilePBNRecommender(Fix.SomeType(), _network); }