public void CanSerializeToBson() { var events = new EventCollection(new[] { new FakeEvent("My Property") }); var bson = WriteBson(events); Validate(bson, "pAAAAAMwAJwAAAACJHR5cGUAcgAAAFRlc3QuU3BhcmsuU2VyaWFsaXphdGlvbi5Db252ZXJ0ZXJzLlVzaW5nRXZlbnRDb2xsZWN0aW9uQ29udmVydGVyLkZha2VFdmVudCwgU3BhcmsuU2VyaWFsaXphdGlvbi5OZXd0b25zb2Z0LlRlc3RzAAJQcm9wZXJ0eQAMAAAATXkgUHJvcGVydHkAAAA="); }
/// <summary> /// Primary Constructor /// </summary> /// <param name="cluster">An EventCollection representing a cluster</param> /// <param name="clusterid">The ID of the cluster</param> public ClusterAnalysis(EventCollection cluster, int clusterid) { Cluster = cluster; ClusterID = clusterid; DropAnalysis = new DropAnalysis(Cluster); FailAnalysis = new FailAnalysis(Cluster); }
protected void ExpectEvents (int count, Atk.Role role, string evType) { if (events == null) events = EventMonitor.Pause (); EventCollection evs = events.FindByRole (role).FindByType (evType); string eventsInXml = String.Format (" events in XML: {0}", Environment.NewLine + events.OriginalGrossXml); Assert.AreEqual (count, evs.Count, "bad number of " + evType + " events: " + eventsInXml); }
/// <summary> /// Initializes a new instance of <see cref="CommitData"/> /// </summary> /// <param name="headers">The headers associated with this commit.</param> /// <param name="events">The events associated with this commit.</param> public CommitData(HeaderCollection headers, EventCollection events) { Verify.NotNull(headers, nameof(headers)); Verify.NotNull(events, nameof(events)); Headers = headers; Events = events; }
public void CanMutateUnderlyingCollection() { var list = new List<Event>(); var events = new EventCollection(list); list.Add(new FakeEvent()); Assert.Equal(1, events.Count); }
public void CanSerializeToJson() { var events = new EventCollection(new[] { new FakeEvent("My Property") }); var json = WriteJson(events); Validate(json, @" [ { ""$type"": ""Test.Spark.Serialization.Converters.UsingEventCollectionConverter.FakeEvent, Spark.Serialization.Newtonsoft.Tests"", ""Property"": ""My Property"" } ]"); }
/// <summary> /// Generates a crowd with the given arguments. /// </summary> /// <param name="criteria">The crowd's criteria</param> /// <param name="isStatic">Are the crowd's members static?</param> /// <param name="collection">The crowd's event scheduler.</param> public SmartCrowd GenerateCrowd(ISmartCrowdCriteria criteria, bool isStatic, EventCollection collection) { SmartCrowd instance = new GameObject(NamePrefix + currentCrowdIndex).AddComponent<SmartCrowd>(); instance.tag = "Smart Object"; if (Parent != null) { instance.transform.parent = Parent.transform; } instance.Initialize(criteria, isStatic, collection); instance.Portrait = GetPortrait(currentCrowdIndex); currentCrowdIndex++; return instance; }
/// <summary> /// Initializes a new instance of <see cref="Commit"/>. /// </summary> /// <param name="id">The unique commit id.</param> /// <param name="timestamp">The <see cref="DateTime"/> when the snapshot was persisted.</param> /// <param name="correlationId">The correlation id.</param> /// <param name="streamId">The event stream id.</param> /// <param name="version">The event stream revision.</param> /// <param name="headers">The optional set of headers associated with this commit.</param> /// <param name="events">The optional set of events associated with this commit.</param> internal Commit(Int64? id, DateTime timestamp, Guid correlationId, Guid streamId, Int32 version, HeaderCollection headers, EventCollection events) { Verify.NotEqual(Guid.Empty, correlationId, nameof(correlationId)); Verify.NotEqual(Guid.Empty, streamId, nameof(streamId)); Verify.GreaterThan(0, version, nameof(version)); Id = id; Timestamp = timestamp; CorrelationId = correlationId; StreamId = streamId; Version = version; Events = events ?? EventCollection.Empty; Headers = headers ?? HeaderCollection.Empty; }
public void Initalise() { // Read in a Sample KML File KMLReader reader = new KMLReader(ROOT_DIR + "data\\L_wk32_drops.kml"); // Obtain all the events EventCollection collection = reader.GetCallLogs(); // Cluster the Events DBSCAN scan = new DBSCAN(collection); scan.Analyse(); // Get a copy of the Clustered Events Clusters = scan.Clusters; // Get a copy of the Noise Events Noise = scan.Noise; // Make a new TEMP dir Directory.CreateDirectory(OUTPUT_DIR); }
private EventCollection GenerateCluster(double latlower, double latupper, double longlower, double longupper, int size) { // Initalise a new EventCollection EventCollection collection = new EventCollection(); // Initalise a new Random number generator Random random = new Random(); // Create size number of Coordinates for (int i = 0; i < size; i++) { // Generate a Longitude double longitude = random.NextDouble() * (longupper - longlower) + longlower; // Generate a Latitude double latitude = random.NextDouble() * (latupper - latlower) + latlower; // Setup a Test Event - it doesn't matter if its a drop, failure or success Drop evt = new Drop(); evt.Coordinate = new Coordinate(longitude, latitude); // Add to the collection collection.Add(evt); } // return the collection of events return collection; }
public void Initalise() { // Initialise an EventCollection collection = new EventCollection(); // Add four Events in the shape of a square Drop drop1 = new Drop(); drop1.Coordinate = new Coordinate(10, 10, 0); collection.Add(drop1); Drop drop2 = new Drop(); drop2.Coordinate = new Coordinate(10, 20, 0); collection.Add(drop2); Fail fail1 = new Fail(); fail1.Coordinate = new Coordinate(20, 10, 0); collection.Add(fail1); Fail fail2 = new Fail(); fail2.Coordinate = new Coordinate(20, 20, 0); collection.Add(fail2); }
public void AnalyseTest() { // Setup a new Event Collection EventCollection collection = new EventCollection(); // Add 4 Clusters collection.AddRange(GenerateCluster(51.0, 51.1, -21.0, -21.1, 10)); collection.AddRange(GenerateCluster(41.0, 41.1, -11.0, -11.1, 10)); collection.AddRange(GenerateCluster(31.0, 31.1, -1.0, -1.1, 10)); collection.AddRange(GenerateCluster(21.0, 21.1, 1.0, 1.1, 10)); // Cluster the data DBSCAN scan = new DBSCAN(collection, 5); scan.Analyse(); // Ensure that there are 4 clusters Assert.AreEqual(4, scan.Clusters.Count); // Esnure that there are 10 objects within each cluster Assert.AreEqual(10, scan.Clusters[0].Count); Assert.AreEqual(10, scan.Clusters[1].Count); Assert.AreEqual(10, scan.Clusters[2].Count); Assert.AreEqual(10, scan.Clusters[3].Count); }
public Hiding(Process process, EventCollection alphabets) { if (process is Hiding) { Process = (process as Hiding).Process; List<Event> events = new List<Event>((process as Hiding).HidingAlphabets); foreach (Event item in alphabets) { if (!events.Contains(item)) { events.Add(item); } } HidingAlphabets = new EventCollection(events); } else { Process = process; HidingAlphabets = alphabets; } ProcessID = DataStore.DataManager.InitializeProcessID(Constants.HIDING + Process.ProcessID + Constants.SEPARATOR + HidingAlphabets.ProcessID); }
protected void StartEventMonitor () { events = null; EventMonitor.Start (); }
public void TestInterfacedEvents() { EventCollection events = EventCollectionFactory.GetSetFiveInterfaces(); CaseList testCaseList = new CaseList(); EventExpressionCase testCase = null; testCase = new EventExpressionCase("c=" + INTERFACE_C); testCase.Add("e1", "c", events.GetEvent("e1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("baseab=" + INTERFACE_BASE_AB); testCase.Add("e2", "baseab", events.GetEvent("e2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_A); testCase.Add("e2", "a", events.GetEvent("e2")); testCase.Add("e3", "a", events.GetEvent("e3")); testCase.Add("e12", "a", events.GetEvent("e12")); testCase.Add("e13", "a", events.GetEvent("e13")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_B); testCase.Add("e2", "a", events.GetEvent("e2")); testCase.Add("e4", "a", events.GetEvent("e4")); testCase.Add("e6", "a", events.GetEvent("e6")); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_B + "(B='B1')"); testCase.Add("e2", "a", events.GetEvent("e2")); testCase.Add("e4", "a", events.GetEvent("e4")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_A + "(A='A3')"); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_C + "(C='C2')"); testCase.Add("e6", "a", events.GetEvent("e6")); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_C + "(C='C1')"); testCase.Add("e1", "a", events.GetEvent("e1")); testCase.Add("e2", "a", events.GetEvent("e2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_D + "(D='D1')"); testCase.Add("e5", "a", events.GetEvent("e5")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_BASE_D + "(BaseD='BaseD')"); testCase.Add("e5", "a", events.GetEvent("e5")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_BASE_D_BASE + "(BaseDBase='BaseDBase')"); testCase.Add("e5", "a", events.GetEvent("e5")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_D + "(D='D1', BaseD='BaseD', BaseDBase='BaseDBase')"); testCase.Add("e5", "a", events.GetEvent("e5")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + INTERFACE_BASE_D + "(BaseD='BaseD', BaseDBase='BaseDBase')"); testCase.Add("e5", "a", events.GetEvent("e5")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + SUPER_G); testCase.Add("e12", "a", events.GetEvent("e12")); testCase.Add("e13", "a", events.GetEvent("e13")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + SUPER_G + "(G='G1')"); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + SUPER_G + "(BaseAB='BaseAB5')"); testCase.Add("e13", "a", events.GetEvent("e13")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + SUPER_G + "(BaseAB='BaseAB4', G='G1', A='A3')"); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + SUPER_G_IMPL + "(BaseAB='BaseAB4', G='G1', A='A3', B='B4', C='C2')"); testCase.Add("e12", "a", events.GetEvent("e12")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_BASE); testCase.Add("e8", "a", events.GetEvent("e8")); testCase.Add("e9", "a", events.GetEvent("e9")); testCase.Add("e10", "a", events.GetEvent("e10")); testCase.Add("e11", "a", events.GetEvent("e11")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_ONE); testCase.Add("e8", "a", events.GetEvent("e8")); testCase.Add("e9", "a", events.GetEvent("e9")); testCase.Add("e10", "a", events.GetEvent("e10")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_ONEA); testCase.Add("e8", "a", events.GetEvent("e8")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_ONEB); testCase.Add("e9", "a", events.GetEvent("e9")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_BASE + "(Val='OB1')"); testCase.Add("e9", "a", events.GetEvent("e9")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_BASE + "(Val='O3')"); testCase.Add("e10", "a", events.GetEvent("e10")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_BASE + "(Val='OBase')"); testCase.Add("e11", "a", events.GetEvent("e11")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_BASE + "(Val='O2')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_ONE + "(Val='OA1')"); testCase.Add("e8", "a", events.GetEvent("e8")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + OVERRIDE_ONE + "(Val='O3')"); testCase.Add("e10", "a", events.GetEvent("e10")); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
/// <summary> /// Primary Constructor /// </summary> /// <param name="cluster">EventCollection of dropped events</param> public DropAnalysis(EventCollection cluster) { Cluster = new EventCollection(cluster.GetEvents("Drop")); }
/// <summary> /// This method will return an event collection of events from the given KML /// file in the constructor of this object. /// </summary> /// <returns>A collection of events</returns> public EventCollection GetCallLogs() { EventCollection calls = new EventCollection(); while (reader.Read()) { // Get the Coordinate Coordinate coordinate = ReadCoordinate(); // Move to the ExtendedData Space reader.ReadToNextSibling("ExtendedData"); //Get the additional data elements String device = GetSimpleData("device"); String pin = GetSimpleData("pin"); String timestamp = GetSimpleData("timestamp"); String reference = GetSimpleData("reference"); String type = GetSimpleData("type"); String start_rat = GetSimpleData("start_rat"); String end_rat = GetSimpleData("end_rat"); String start_mix_band = GetSimpleData("start_mix_band"); String end_mix_band = GetSimpleData("end_mix_band"); String start_rrc_state = GetSimpleData("start_rrc_state"); // Create a new Call Log Object Event callLog = null; // Force the call log to be a type switch (type) { case "Call Drop": callLog = new Drop(); break; case "Setup Failure": callLog = new Fail(); break; case "Call Success": callLog = new Success(); break; default: break; } // Add additional attributes & add to the list if (callLog != null) { callLog.Device = device; callLog.Pin = pin; callLog.Timestamp = DateTime.Parse(timestamp); callLog.Reference = Boolean.Parse(reference); callLog.StartRat = start_rat; callLog.EndRat = end_rat; callLog.StartMixBand = start_mix_band; callLog.EndMixBand = end_mix_band; callLog.StartRRCState = start_rrc_state; callLog.Coordinate = coordinate; calls.Add(callLog); } } return calls; }
//A method which adds a new Event to the list of events. public void AddEvent(Event eventevent) { EventCollection.Add(eventevent); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("a=A(id='A2') until D"); testCase.Add("D1", "a[0]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until D"); testCase.Add("D1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=B until a=A"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=B until D(id='D3')"); testCase.Add("D3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A or b=B) until d=D(id='D3')"); testCase.Add("D3", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "b[2]", events.GetEvent("B3") }, new Object[] { "d", events.GetEvent("D3") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A or b=B) until (g=G or d=D)"); testCase.Add("D1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "d", events.GetEvent("D1") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(d=D) until a=A(id='A1')"); testCase.Add("A1"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until G(id='GX')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] a=A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] a=A"); testCase.Add("A2", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1] a=A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:1] a=A"); testCase.Add("A1", "a[0]", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] a=A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] b=B"); testCase.Add("B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[4] (a=A or b=B)"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); // the until ends the matching returning permanently false testCase = new EventExpressionCase("[2] b=B until a=A(id='A1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] b=B until c=C"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:2] b=B until g=G(id='G1')"); testCase.Add("B2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:4] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:3] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:2] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[:1] b=B until a=A(id='A1')"); testCase.Add("A1", "b[0]", null, "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=B until g=G(id='G1')"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "g", events.GetEvent("G1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:] b=B until a=A"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=B until a=A(id='A2')"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2:] b=B until c=C"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[2:] b=B until e=B(id='B2')"); testCaseList.AddTest(testCase); // same event triggering both clauses, until always wins, match does not count testCase = new EventExpressionCase("[1:] b=B until e=B(id='B1')"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=B until a=A(id='A2')"); testCase.Add("A2", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null, "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:3] b=B until G"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3"), "b[3]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:2] b=B until G"); testCase.Add("G1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=B until F"); testCase.Add("F1", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[1:10] b=B until C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[0:1] b=B until C"); testCase.Add("C1", "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=C -> [2] b=B -> d=D"); testCase.Add("D3", "c", events.GetEvent("C1"), "b[0]", events.GetEvent("B2"), "b[1]", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=D or [3] b=B"); testCase.Add("B3", "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2"), "b[2]", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] d=D or [4] b=B"); testCase.Add("D3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] d=D and [2] b=B"); testCase.Add("D2", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("d=D until timer:interval(7 sec)"); testCase.Add("E1", "d[0]", events.GetEvent("D1"), "d[1]", null, "d[2]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (d=D until b=B)"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCase.Add("B2", "d[0]", null, "b", events.GetEvent("B2")); testCase.Add("B3", "d[0]", events.GetEvent("D1"), "d[1]", events.GetEvent("D2"), "d[2]", null, "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); // note precendence: every is higher then until testCase = new EventExpressionCase("every d=D until b=B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(every d=D) until b=B"); testCase.Add("B1", "d[0]", null, "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=A until (every (timer:interval(6 sec) and not A))"); testCase.Add("G1", "a[0]", events.GetEvent("A1"), "a[1]", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("A until (every (timer:interval(7 sec) and not A))"); testCase.Add("D3"); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[2] (a=A or b=B)"); testCase.Add("B1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", null); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every [2] a=A"); testCase.Add("A2", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every [2] a=A until d=D"); // every has Precedence; ESPER-339 testCase.Add("D1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "d", events.GetEvent("D1") }, }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("[3] (a=A or b=B)"); testCase.Add("B2", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "b[1]", events.GetEvent("B2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A until b=B) until c=C"); testCase.Add("C1", "a[0]", events.GetEvent("A1"), "b[0]", events.GetEvent("B1"), "c", events.GetEvent("C1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(a=A until b=B) until g=G"); testCase.Add("G1", new Object[][] { new Object[] { "a[0]", events.GetEvent("A1") }, new Object[] { "b[0]", events.GetEvent("B1") }, new Object[] { "a[1]", events.GetEvent("A2") }, new Object[] { "b[1]", events.GetEvent("B2") }, new Object[] { "b[2]", events.GetEvent("B3") }, new Object[] { "g", events.GetEvent("G1") } }); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("B until not B"); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); var testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> (d=" + EVENT_D_CLASS + " or not d=" + EVENT_D_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "d", null); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -[1000]> not d=" + EVENT_D_CLASS); testCase.Add("B1", "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " -[10]> d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " -> every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + " -> a_2=" + EVENT_A_CLASS + ")"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("c=" + EVENT_C_CLASS + "() -> d=" + EVENT_D_CLASS + " -> a=" + EVENT_A_CLASS); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -> b=" + EVENT_B_CLASS + "() -> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a_1=" + EVENT_A_CLASS + "() -[10]> b=" + EVENT_B_CLASS + "() -[10]> a_2=" + EVENT_A_CLASS + "())"); testCase.Add("A2", "a_1", events.GetEvent("A1"), "b", events.GetEvent("B1"), "a_2", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every ( every a=" + EVENT_A_CLASS + " -> every b=" + EVENT_B_CLASS + ")"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=" + EVENT_A_CLASS + "() -> every b=" + EVENT_B_CLASS + "())"); testCase.Add("B1", "a", events.GetEvent("A1"), "b", events.GetEvent("B1")); testCase.Add("B2", "a", events.GetEvent("A1"), "b", events.GetEvent("B2")); testCase.Add("B3", "a", events.GetEvent("A1"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCase.Add("B3", "a", events.GetEvent("A2"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
/// <summary> /// Primary Constructor /// </summary> public MultiAnalysis() { Events = new EventCollection(); }
/// <summary> /// This method will return all coordinates within C's eps-neighbourhood. /// </summary> /// <param name="c">The centroid coordinate</param> /// <returns>A list of neighbouring coordinates</returns> private EventCollection GetRegion(Event evt) { // Collection of neighbouring coordinates EventCollection neighbours = new EventCollection(); // Square the Epsilon (radius) to get the diameter of the neighbourhood double eps = Epsilon * Epsilon; // Loop over all coordinates foreach (Event neighbour in Calls) { // Calculate the distance of the two coordinates double distance = Distance.haversine(evt.Coordinate, neighbour.Coordinate); // Class as a neighbour if it falls in the 'catchment area' if (eps >= distance) { neighbours.Add(neighbour); } } return neighbours; }
public String GetHtmlContent(string searchText, String data, String sense, Object source, Dictionary <String, String> uniqueLinks) { searchText = HttpUtility.UrlDecode(searchText); if (source == null) { source = this.GetSource(searchText, data); } if (source == null) { throw new ArgumentNullException("Source is NULL"); } this.collection = source as EventCollection; if (this.collection == null) { throw new InvalidCastException("Source is not of correct type"); } bool hasData = false; String html = String.Empty; if (this.collection.Events.Count > 0) { hasData = true; html += "<td id=\"tdEventful\" style=\"width: 100%;vertical-align: top\">"; html += " <table style=\"width: 100%\" cellpadding=\"0\" cellspacing=\"0\">"; html += " <tr>"; html += " <td style=\"border-bottom: dotted 1px Silver; width: 100%; color: Black; font-family: Calibri;font-size: 16px;\">"; html += " <b>E</b>vent(s) <a target=\"_blank\" href=\"http://eventful.com\" style=\"font-size:small;color:green;text-decoration:none;font-family:Calibri\">"; html += " source: eventful"; html += " </a>"; html += " </td>"; html += " </tr>"; html += " <tr>"; html += " <td align=\"left\">"; html += " <table align=\"left\" style=\"width: 100%;height:50px;font-family:Calibri\" cellpadding=\"0\" cellspacing=\"0\">"; foreach (EEvent evnt in this.collection.Events) { DateTime start = DateTime.MaxValue; String title = String.IsNullOrEmpty(evnt.Title) ? evnt.Description : evnt.Title; if (DateTime.TryParse(evnt.StartTime, out start)) { title += "<span style=\"font-size:smallest\"><b> (" + start.ToString("d MMM, HH:mm") + ")</b></span>"; } html += " <tr>"; html += " <td style=\"width: 41px;height:41px;;vertical-align:top;\" align=\"center\">"; html += " <a href=\"" + evnt.UrlLink + "\" style=\"text-decoration:none\""; html += " <img style=\"border:none;width: 40px;height:40px;\" src=\"" + evnt.ImageThumb + "\" alt=\"event\" />"; html += " </a>"; html += " </td>"; html += " <td style=\"width: 5px;\"> </td>"; html += " <td style=\"vertical-align:top;font-family:Calibri;font-size:14px;\" align=\"left\">"; html += title; html += " </td>"; html += " </tr><tr><td colspan=\"3\" style=\"height:3px;border-top:dotted 1px Silver;\"></td></tr>"; } html += " </table>"; html += " </td>"; html += " </tr>"; html += " <tr><td align=\"right\"><a href=\"http://eventful.com/" + searchText + "\" style=\"font-size:12px;;font-family:Calibri\">more events</a></td></tr>"; html += " <tr><td style=\"height:2px;\"></td></tr>"; html += " </table>"; html += "</td>"; } return(hasData ? html : String.Empty); }
/// <summary> /// Primary Constructor /// </summary> /// <param name="cluster">EventCollection of failed events</param> public FailAnalysis(EventCollection cluster) { Cluster = new EventCollection(cluster.GetEvents("Fail")); }
/// <summary> /// Creates an EventCollection from the given input. If saveCollection is true, it also /// makes sure to save the returned EventCollection for later use. /// </summary> public EventCollection ToEventCollection(bool saveCollection) { this.AdaptProbabilities(); SchedulableEvent[] events = new SchedulableEvent[allEvents.Where((SchedulerEventArguments arg) => arg.IsSelected).Count()]; int index = 0; foreach (SchedulerEventArguments arg in allEvents) { if (arg.IsSelected) { events[index] = new SchedulableEvent(arg.Signature, arg.GetProbability()); index++; } } float timeBetweenUpdates = 0.0f; float.TryParse(this.timeBetweenUpdates, out timeBetweenUpdates); EventCollection result = new EventCollection(name, timeBetweenUpdates, events); if (saveCollection) { EventCollectionManager.Instance.AddEventCollection(result); } return result; }
/// <summary> /// Sets the schedulable events to the ones specified by the given EventCollection. /// </summary> public void Set(EventCollection collection) { allEvents.Clear(); IEnumerable<EventSignature> allSignatures = EventLibrary.Instance.GetSignatures(). Where((EventSignature sig) => !sig.AffectsWorldState()); //For each signature, check if it is used in the scheduler and set the values according to this. foreach(EventSignature signature in allSignatures) { if (collection.Any((SchedulableEvent evnt) => evnt.Signature == signature)) { SchedulableEvent evnt = collection.First((SchedulableEvent e) => e.Signature == signature); allEvents.Add(new SchedulerEventArguments(signature, evnt.Probability, true)); } else { allEvents.Add(new SchedulerEventArguments(signature, 0.0f, false)); } } this.timeBetweenUpdates = collection.TimeBetweenUpdates.ToString(); this.name = collection.Name; }
protected void ExpectEvents (int min, int max, Atk.Role role, string evType) { GlibSync (); if (events == null) events = EventMonitor.Pause (); EventCollection evs = events.FindByRole (role).FindByType (evType); string eventsInXml = String.Format (" events in XML: {0}", Environment.NewLine + events.OriginalGrossXml); Assert.IsTrue (evs.Count >= min && evs.Count <= max, "Expected " + min +"-" + max +" " + evType + " events but got " + evs.Count +": " + eventsInXml); }
/// <summary> /// This method will return an event collection of events from the given KML /// file in the constructor of this object. /// </summary> /// <returns>A collection of events</returns> public EventCollection GetCallLogs() { EventCollection calls = new EventCollection(); while (reader.Read()) { // Get the Coordinate Coordinate coordinate = ReadCoordinate(); // Move to the ExtendedData Space reader.ReadToNextSibling("ExtendedData"); //Get the additional data elements String device = GetSimpleData("device"); String pin = GetSimpleData("pin"); String timestamp = GetSimpleData("timestamp"); String reference = GetSimpleData("reference"); String type = GetSimpleData("type"); String start_rat = GetSimpleData("start_rat"); String end_rat = GetSimpleData("end_rat"); String start_mix_band = GetSimpleData("start_mix_band"); String end_mix_band = GetSimpleData("end_mix_band"); String start_rrc_state = GetSimpleData("start_rrc_state"); // Create a new Call Log Object Event callLog = null; // Force the call log to be a type switch (type) { case "Call Drop": callLog = new Drop(); break; case "Setup Failure": callLog = new Fail(); break; case "Call Success": callLog = new Success(); break; default: break; } // Add additional attributes & add to the list if (callLog != null) { callLog.Device = device; callLog.Pin = pin; callLog.Timestamp = DateTime.Parse(timestamp); callLog.Reference = Boolean.Parse(reference); callLog.StartRat = start_rat; callLog.EndRat = end_rat; callLog.StartMixBand = start_mix_band; callLog.EndMixBand = end_mix_band; callLog.StartRRCState = start_rrc_state; callLog.Coordinate = coordinate; calls.Add(callLog); } } return(calls); }
public EventSet(string apiKey) { ApiKey = apiKey; Events = new EventCollection(); }
public AdvancedPageViewModel() : base() { Culture = CultureInfo.CreateSpecificCulture("en-GB"); // testing all kinds of adding events // when initializing collection Events = new EventCollection { [DateTime.Now.AddDays(-3)] = new List <AdvancedEventModel>(GenerateEvents(10, "Cool")), [DateTime.Now.AddDays(-6)] = new DayEventCollection <AdvancedEventModel>(Color.Purple, Color.Purple) { new AdvancedEventModel { Name = "Cool event1", Description = "This is Cool event1's description!", Starting = new DateTime() }, new AdvancedEventModel { Name = "Cool event2", Description = "This is Cool event2's description!", Starting = new DateTime() } } }; //Adding a day with a different dot color Events.Add(DateTime.Now.AddDays(-2), new DayEventCollection <AdvancedEventModel>(GenerateEvents(10, "Cool")) { EventIndicatorColor = Color.Blue, EventIndicatorSelectedColor = Color.Blue }); Events.Add(DateTime.Now.AddDays(-4), new DayEventCollection <AdvancedEventModel>(GenerateEvents(10, "Cool")) { EventIndicatorColor = Color.Green, EventIndicatorSelectedColor = Color.White }); Events.Add(DateTime.Now.AddDays(-5), new DayEventCollection <AdvancedEventModel>(GenerateEvents(10, "Cool")) { EventIndicatorColor = Color.Orange, EventIndicatorSelectedColor = Color.Orange }); // with add method Events.Add(DateTime.Now.AddDays(-1), new List <AdvancedEventModel>(GenerateEvents(5, "Cool"))); // with indexer Events[DateTime.Now] = new List <AdvancedEventModel>(GenerateEvents(2, "Boring")); MonthYear = MonthYear.AddMonths(1); Task.Delay(5000).ContinueWith(_ => { // indexer - update later Events[DateTime.Now] = new ObservableCollection <AdvancedEventModel>(GenerateEvents(10, "Cool")); // add later Events.Add(DateTime.Now.AddDays(3), new List <AdvancedEventModel>(GenerateEvents(5, "Cool"))); // indexer later Events[DateTime.Now.AddDays(10)] = new List <AdvancedEventModel>(GenerateEvents(10, "Boring")); // add later Events.Add(DateTime.Now.AddDays(15), new List <AdvancedEventModel>(GenerateEvents(10, "Cool"))); Task.Delay(3000).ContinueWith(t => { MonthYear = MonthYear.AddMonths(-2); // get observable collection later var todayEvents = Events[DateTime.Now] as ObservableCollection <AdvancedEventModel>; // insert/add items to observable collection todayEvents.Insert(0, new AdvancedEventModel { Name = "Cool event insert", Description = "This is Cool event's description!", Starting = new DateTime() }); todayEvents.Add(new AdvancedEventModel { Name = "Cool event add", Description = "This is Cool event's description!", Starting = new DateTime() }); }, TaskScheduler.FromCurrentSynchronizationContext()); }, TaskScheduler.FromCurrentSynchronizationContext()); }
/// <summary> /// This method will add an exisitng EventCollection to the EventCollection /// object within this class. Any previous clustering information will be /// removed. /// </summary> /// <param name="collection">The EventCollection to be added</param> public void AddRange(EventCollection collection) { // Remove any previous clustering data collection.ClearAllClusterData(); // Add the events to the EventCollection Events.AddRange(collection); }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); var testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + ") " + " and " + "(a=" + EVENT_A_CLASS + " -> e=" + EVENT_E_CLASS + ")" ); testCase.Add("E1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " -> (d=" + EVENT_D_CLASS + "() or a=" + EVENT_A_CLASS + ")"); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); var model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.FollowedBy( Patterns.Filter(EVENT_B_CLASS, "b"), Patterns.Or(Patterns.Filter(EVENT_D_CLASS, "d"), Patterns.Filter(EVENT_A_CLASS, "a"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); String text = "select * from pattern [b=" + EVENT_B_CLASS + " -> d=" + EVENT_D_CLASS + " or a=" + EVENT_A_CLASS + "]"; Assert.AreEqual(text, model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("A2", "b", events.GetEvent("B1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() -> (" + "(d=" + EVENT_D_CLASS + "() -> a=" + EVENT_A_CLASS + "())" + " or " + "(a=" + EVENT_A_CLASS + "() -> e=" + EVENT_E_CLASS + "()))" ); testCase.Add("E1", "b", events.GetEvent("B1"), "a", events.GetEvent("A2"), "e", events.GetEvent("E1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + "() and d=" + EVENT_D_CLASS + "() or a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + "() -> d=" + EVENT_D_CLASS + "()) or a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("(b=" + EVENT_B_CLASS + "() and " + "d=" + EVENT_D_CLASS + "()) or " + "a=" + EVENT_A_CLASS); testCase.Add("A1", "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); var util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
/// <summary> /// Gets the app events from the DTO objects. Returns an empty collection if no events. /// </summary> /// <param name="eventDtos">An enumerable object containing the app event data transfer objects.</param> /// <returns>Returns an <see cref="IEventCollection" />.</returns> private static IEventCollection GetEventsFromDtos(IEnumerable<EventDto> eventDtos) { var events = new EventCollection(); try { foreach (var ev in eventDtos) { events.Add(new Event(ev.EventId, ev.EventType, ev.FKGalleryId, ev.TimeStampUtc, ev.ExType, ev.Message, Deserialize(ev.EventData), ev.ExSource, ev.ExTargetSite, ev.ExStackTrace, ev.InnerExType, ev.InnerExMessage, ev.InnerExSource, ev.InnerExTargetSite, ev.InnerExStackTrace, Deserialize(ev.InnerExData), ev.Url, Deserialize(ev.FormVariables), Deserialize(ev.Cookies), Deserialize(ev.SessionVariables), Deserialize(ev.ServerVariables))); } } catch (InvalidOperationException ex) { if (ex.Source.Equals("System.Data.SqlServerCe")) { // We hit the SQL CE bug described here: http://connect.microsoft.com/SQLServer/feedback/details/606152 // Clear the table. var sqlCeController = new SqlCeController(GetConnectionStringSettings().ConnectionString); sqlCeController.ClearEventLog(); events.Clear(); } else throw; } return events; }
public void TestOp() { EventCollection events = EventCollectionFactory.GetEventSetOne(0, 1000); CaseList testCaseList = new CaseList(); EventExpressionCase testCase; testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every(b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); EPStatementObjectModel model = new EPStatementObjectModel(); model.SelectClause = SelectClause.CreateWildcard(); PatternExpr pattern = Patterns.Every(Patterns.And(Patterns.Filter(EVENT_B_CLASS, "b"), Patterns.Filter(EVENT_D_CLASS, "d"))); model.FromClause = FromClause.Create(PatternStream.Create(pattern)); model = (EPStatementObjectModel)SerializableObjectCopier.Copy(model); Assert.AreEqual("select * from pattern [every (b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")]", model.ToEPL()); testCase = new EventExpressionCase(model); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=" + EVENT_B_CLASS + " and d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every( every b=" + EVENT_B_CLASS + " and every d=" + EVENT_D_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1")); for (int i = 0; i < 3; i++) { testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2")); } testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3")); for (int i = 0; i < 5; i++) { testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3")); } testCaseList.AddTest(testCase); testCase = new EventExpressionCase("a=" + EVENT_A_CLASS + " and d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("b=" + EVENT_B_CLASS + " and b=" + EVENT_B_CLASS); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and every b=" + EVENT_B_CLASS); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D1", "b", events.GetEvent("B2"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B2"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D1"), "a", events.GetEvent("A2")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("B3", "b", events.GetEvent("B3"), "d", events.GetEvent("D2"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B2"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B3"), "d", events.GetEvent("D3"), "a", events.GetEvent("A2")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (a=" + EVENT_A_CLASS + " and every d=" + EVENT_D_CLASS + " and b=" + EVENT_B_CLASS + ")"); testCase.Add("D1", "b", events.GetEvent("B1"), "d", events.GetEvent("D1"), "a", events.GetEvent("A1")); testCase.Add("D2", "b", events.GetEvent("B1"), "d", events.GetEvent("D2"), "a", events.GetEvent("A1")); testCase.Add("D3", "b", events.GetEvent("B1"), "d", events.GetEvent("D3"), "a", events.GetEvent("A1")); testCaseList.AddTest(testCase); testCase = new EventExpressionCase("every (b=" + EVENT_B_CLASS + " and b=" + EVENT_B_CLASS + ")"); testCase.Add("B1", "b", events.GetEvent("B1"), "b", events.GetEvent("B1")); testCase.Add("B2", "b", events.GetEvent("B2"), "b", events.GetEvent("B2")); testCase.Add("B3", "b", events.GetEvent("B3"), "b", events.GetEvent("B3")); testCaseList.AddTest(testCase); PatternTestHarness util = new PatternTestHarness(events, testCaseList, GetType(), GetType().FullName); util.RunTest(); }
/// <summary> /// This method is the main entry point for initalising the DBSCAN algorithm. The results of /// the analysis are put into the Clusters List found as a member variable within this class. /// Any coordinates that are deduced as noise, are added into the Noise Coordinate Collection, /// found as a member variable within this class. /// The method will initially for N number of times, where N is the number of coordinates within /// the Coordinates Collection. The N value does not take visiting neighbouring coordinates into /// consideration, so the number of passes will be larger. /// </summary> public void Analyse() { // Setup the final data stores Clusters = new List<EventCollection>(); Noise = new EventCollection(); Noise.Name = "Noisy Clusters"; Noise.Noise = true; // Place each coordinate into a cluster or deduce it as noise int clusterId = 1; foreach (Event evt in Calls) { if (!evt.Coordinate.Classified && ExpandCluster(evt, clusterId)) { clusterId++; } } // Group all of the coordinates as either Noise or as part of it's respected cluster foreach (Event evt in Calls) { if (evt.Coordinate.Noise) { Noise.Add(evt); } else if (evt.Coordinate.Classified) { // Decrement the Cluster ID by 1 to make use of index 0 of the final list int index = evt.Coordinate.ClusterId - 1; // Setup the Cluster if it doesn't already exist (any any previous to this) InitaliseClusters(index); Clusters[index].Add(evt); } } // Remove any unrequired (empty) clusters CleanClusters(); }
/// <summary> /// Adds the given EventCollection. /// </summary> public void AddEventCollection(EventCollection collection) { collections[collection.Name] = collection; }
/// <summary> /// Primary Constructor /// </summary> /// <param name="coordinates">A Collection of coordinates</param> /// <param name="eps">The epsilon value</param> /// <param name="min">The minimum number of coordinates per cluster</param> public DBSCAN(EventCollection calls, double eps = 1.5, int min = 3) { Calls = calls; Epsilon = eps; MinPoints = min; }
/// <summary> /// Migrates the commit <paramref name="headers"/> and <paramref name="events"/> for the specified <paramref name="id"/>. /// </summary> /// <param name="id">The unique commit identifier.</param> /// <param name="headers">The new commit headers.</param> /// <param name="events">The new commit events.</param> public void Migrate(Int64 id, HeaderCollection headers, EventCollection events) { Verify.NotDisposed(this, disposed); Verify.NotNull(headers, nameof(headers)); Verify.NotNull(events, nameof(events)); var data = serializer.Serialize(new CommitData(headers, events)); using (var command = dialect.CreateCommand(dialect.UpdateCommit)) { Log.Trace("Updating commit {0}", id); command.Parameters.Add(dialect.CreateIdParameter(id)); command.Parameters.Add(dialect.CreateDataParameter(data)); dialect.ExecuteNonQuery(command); } }
public void CanDeserializeValidBson() { var bson = default(Byte[]); var events = new EventCollection(new[] { new FakeEvent("My Property") }); var document = new Dictionary<String, EventCollection> { { "events", events } }; using (var memoryStream = new MemoryStream()) { NewtonsoftBsonSerializer.Default.Serialize(memoryStream, document); bson = memoryStream.ToArray(); } using (var memoryStream = new MemoryStream(bson, writable: false)) { document = NewtonsoftBsonSerializer.Default.Deserialize<Dictionary<String, EventCollection>>(memoryStream); } Assert.Equal("My Property", document["events"].OfType<FakeEvent>().Single().Property); }
public void Initialise() { // Create a new KML Reader KMLReader reader = new KMLReader(ROOT_DIR + "data\\L_wk32_drops.kml"); // Read in all call logs EventCollection collection = reader.GetCallLogs(); // Cluster the call logs DBSCAN scan = new DBSCAN(collection); scan.Analyse(); // Initialise the cluster Cluster = new EventCollection(scan.Clusters.OrderBy(col => col.Count).Last()); // Initialise the Cluster analysis Analysis = new DropAnalysis(Cluster); }