public void Add_FilledNameSearchTree_False(string name, string value) { var tree = new NameSearchTree<string>(); Assert.Throws<DuplicatedKeyException>(() => { tree.Add(Name.BuildName(name), value); tree.Add(Name.BuildName(name), String.Empty); }); }
public void SwapPerspective(Name oldPerspective, Name newPerspective) { var currentKeys = m_registry.Keys.ToArray(); foreach (var key in currentKeys) { var evt = m_registry[key]; m_registry[key] = evt.SwapPerspective(oldPerspective, newPerspective); } var newIndexes = new NameSearchTree<List<uint>>(); foreach (var p in m_typeIndexes) { var k = p.Key.SwapTerms(oldPerspective, newPerspective); newIndexes[k] = p.Value; } m_typeIndexes = newIndexes; }
public void Test_NameSearchTree_Count(NameSearchTree <int> nst, int expectedCount) { Assert.AreEqual(nst.Count, expectedCount); }
public void Add_EmptyNameSearchTree_True(string name, string value) { var tree = new NameSearchTree <string>(); tree.Add(Name.BuildName(name), value); }
private KB() { m_knowledgeStorage = new NameSearchTree <KnowledgeEntry>(); m_dynamicProperties = new NameSearchTree <DynamicKnowledgeEntry>(); RegistNativeDynamicProperties(this); }
public void SetObjectData(ISerializationData dataHolder, ISerializationContext context) { AppraisalWeight = dataHolder.GetValue<short>("AppraisalWeight"); var rules = dataHolder.GetValue<AppraisalRule[]>("Rules"); if(Rules==null) Rules = new NameSearchTree<HashSet<AppraisalRule>>(); else Rules.Clear(); foreach (var r in rules) { r.Id = Guid.NewGuid(); AddEmotionalReaction(r); } }
public WorldModelAsset() { actions = new Dictionary <Name, List <Effect> >(); priorityRules = new Dictionary <Name, int>(); actionNames = new NameSearchTree <Name>(); }
public void NameDictionary_Invalid_Unify(NameSearchTree<int> dict, Name expression, SubstitutionSet bindings) { var result = dict.Unify(expression, bindings); Assert.That(!result.Any(),"The unification returned valid results."); }
public void Remove_EmptyNameSearchTree_False(string name, string value) { var tree = new NameSearchTree<string>(); var removeSuccess = tree.Remove(Name.BuildName(name)); Assert.That(!removeSuccess); }
private KB() { m_knowledgeStorage = new NameSearchTree<KnowledgeEntry>(); m_dynamicProperties = new NameSearchTree<DynamicKnowledgeEntry>(); RegistNativeDynamicProperties(this); }
public void SetPerspective(Name newPerspective) { if(!newPerspective.IsPrimitive) throw new ArgumentException("Only primitive symbols are allowed to be perspectives."); if(newPerspective == Name.NIL_SYMBOL) throw new ArgumentException("NIL symbol cannot be used as a perspective."); if (newPerspective == Name.SELF_SYMBOL) throw new ArgumentException("SELF symbol cannot be set as a default a perspectives."); if (newPerspective==Perspective) return; if(GetAllPerspectives().Contains(newPerspective)) throw new ArgumentException($"The is already beliefs containing perspectives for {newPerspective}. Changing to the requested perspective would result in belief conflicts."); //Modify believes to reflect perspective changes var newStorage = new NameSearchTree<KnowledgeEntry>(); foreach (var entry in m_knowledgeStorage) { var newProperty = entry.Key.SwapTerms(Perspective, newPerspective); newStorage.Add(newProperty,entry.Value); } m_knowledgeStorage.Clear(); m_knowledgeStorage = newStorage; Perspective = newPerspective; }
public void SetObjectData(ISerializationData dataHolder, ISerializationContext context) { if(m_knowledgeStorage == null) m_knowledgeStorage = new NameSearchTree<KnowledgeEntry>(); else m_knowledgeStorage.Clear(); if(m_dynamicProperties==null) m_dynamicProperties = new NameSearchTree<DynamicKnowledgeEntry>(); else m_dynamicProperties.Clear(); RegistNativeDynamicProperties(this); Perspective = dataHolder.GetValue<Name>("Perspective"); var knowledge = dataHolder.GetValueGraphNode("Knowledge"); var it = ((IObjectGraphNode) knowledge).GetEnumerator(); while (it.MoveNext()) { var perspective = String2Perspective(it.Current.FieldName); var holder = (IObjectGraphNode) it.Current.FieldNode; foreach (var field in holder) { var property = (Name) field.FieldName; var value = field.FieldNode.RebuildObject<Name>(); if(value==null) continue; Tell(property,value,perspective); } } }
public ReactiveAppraisalDerivator() { this.AppraisalWeight = DEFAULT_APPRAISAL_WEIGHT; this.Rules = new NameSearchTree <HashSet <AppraisalRule> >(); }
private KB() { m_knowledgeStorage = new NameSearchTree<KnowledgeEntry>(); CreateRegistry(); BindToRegistry(this); }
public void Contains_NameSearchTreeThatContainsName_True(string name, string value) { var tree = new NameSearchTree<string>(); tree.Add(Name.BuildName(name), value); Assert.That(tree.ContainsKey(Name.BuildName(name))); }
public void Depth_EmptyNameSearchTree_0() { var tree = new NameSearchTree<string>(); Assert.That(tree.Depth == 0); }
public void Remove_NameSearchTreeThatContainsName_True(string name, string value) { var tree = new NameSearchTree<string>(); tree.Add(Name.BuildName(name), value); var removeSuccess = tree.Remove(Name.BuildName(name)); Assert.That(removeSuccess); }
public void NameDictionary_Valid_Unify(NameSearchTree<int> dict, Name expression, SubstitutionSet bindings, IEnumerable<Pair<int, SubstitutionSet>> expectedResults) { var result = dict.Unify(expression, bindings); var resultDict = result.ToDictionary(p => p.Item1, p => p.Item2); var expectDict = expectedResults.ToDictionary(p => p.Item1, p => p.Item2); Assert.AreEqual(expectDict.Count, resultDict.Count, "Number of results mismatch"); foreach (var pair in resultDict) { SubstitutionSet t; Assert.That(expectDict.TryGetValue(pair.Key, out t), "Unable to find entry"); Assert.That(t.Equals(pair.Value), "Binding list is not equal to the expected"); } }
public void Special_Test_For_Bug_22_11_2017() { var tree = new NameSearchTree<byte>(); var n1 = (Name) "Speak(-,end,Meanings(a(b),c(d)),t)"; var n2 = (Name)"Speak(-,end,Meanings(a(c),e),t)"; var test1 = (Name)"Speak(-,end,*,t)"; tree.Add(n1,0); tree.Add(n2, 0); Assert.IsTrue(tree.Unify(test1).All(r => r.Item1 == 0)); }
public SocialImportanceAsset() { m_kB = null; m_attributionRules = new HashSet <AttributionRule>(); m_cachedSI = new NameSearchTree <NameSearchTree <float> >(); }
public void Test_NameSearchTree_Count(NameSearchTree<int> nst, int expectedCount) { Assert.AreEqual(nst.Count,expectedCount); }
public ReactiveAppraisalDerivator() { this.AppraisalWeight = DEFAULT_APPRAISAL_WEIGHT; this.Rules = new NameSearchTree<HashSet<AppraisalRule>>(); }
public void Add_EmptyNameSearchTree_True(string name, string value) { var tree = new NameSearchTree<string>(); tree.Add(Name.BuildName(name), value); }
public void Depth_EmptyNameSearchTree_0() { var tree = new NameSearchTree <string>(); Assert.That(tree.Depth == 0); }
public void Contains_EmptySearchTree_False(string name, string value) { var tree = new NameSearchTree<string>(); Assert.That(!tree.ContainsKey(Name.BuildName(name))); }
public void NameDictionary_Invalid_Unify(NameSearchTree <int> dict, Name expression, SubstitutionSet bindings) { var result = dict.Unify(expression, bindings); Assert.That(!result.Any(), "The unification returned valid results."); }
private static NameSearchTree<int> BuildInput() { NameSearchTree<int> dict = new NameSearchTree<int>(); for (int i = 0; i < inputStrings.Length; i++) { dict.Add(Name.BuildName(inputStrings[i]), i); } return dict; }
public void Contains_EmptySearchTree_False(string name, string value) { var tree = new NameSearchTree <string>(); Assert.That(!tree.ContainsKey(Name.BuildName(name))); }
public void SetObjectData(ISerializationData dataHolder, ISerializationContext context) { Tick = dataHolder.GetValue<ulong>("Tick"); m_eventGUIDCounter = 0; if (m_registry == null) m_registry = new Dictionary<uint, BaseEvent>(); else m_registry.Clear(); if(m_typeIndexes==null) m_typeIndexes=new NameSearchTree<List<uint>>(); else m_typeIndexes.Clear(); var recs = dataHolder.GetValue<BaseEvent[]>("records"); if (recs == null) return; foreach (var r in recs) { if (m_eventGUIDCounter < r.Id) m_eventGUIDCounter = r.Id; AddRecord(r); } m_eventGUIDCounter++; }