/// <summary> /// Constructor requires the name of the field to use in the parent view to compute the weighted average on, /// as well as the name of the field in the parent view to get the weight from. /// compute the average for. /// </summary> public WeightedAverageView(WeightedAverageViewFactory viewFactory, AgentInstanceViewFactoryChainContext agentInstanceContext) { CurrentValue = Double.NaN; SumW = Double.NaN; SumXtimesW = Double.NaN; _viewFactory = viewFactory; _fieldNameXEvaluator = viewFactory.FieldNameX.ExprEvaluator; _fieldNameWeightEvaluator = viewFactory.FieldNameWeight.ExprEvaluator; _agentInstanceContext = agentInstanceContext; }
public void TestCanReuse() { _factory.SetViewParameters(_viewFactoryContext, TestViewSupport.ToExprListMD(new Object[] { "Price", "Volume" })); _factory.Attach(SupportEventTypeFactory.CreateBeanType(typeof(SupportMarketDataBean)), SupportStatementContextFactory.MakeContext(), null, null); Assert.IsFalse(_factory.CanReuse(new FirstElementView(null))); EventType type = WeightedAverageView.CreateEventType(SupportStatementContextFactory.MakeContext(), null, 1); WeightedAverageViewFactory factoryTwo = new WeightedAverageViewFactory(); factoryTwo.FieldNameX = SupportExprNodeFactory.MakeIdentNodeMD("Price"); factoryTwo.EventType = type; factoryTwo.FieldNameWeight = SupportExprNodeFactory.MakeIdentNodeMD("Price"); Assert.IsFalse(_factory.CanReuse(new WeightedAverageView(factoryTwo, SupportStatementContextFactory.MakeAgentInstanceViewFactoryContext()))); factoryTwo.FieldNameWeight = SupportExprNodeFactory.MakeIdentNodeMD("Volume"); Assert.IsTrue(_factory.CanReuse(new WeightedAverageView(factoryTwo, SupportStatementContextFactory.MakeAgentInstanceViewFactoryContext()))); }
public void SetUp() { // Set up sum view and a test child view EventType type = WeightedAverageView.CreateEventType(SupportStatementContextFactory.MakeContext(), null, 1); WeightedAverageViewFactory factory = new WeightedAverageViewFactory(); factory.FieldNameX = SupportExprNodeFactory.MakeIdentNodeMD("Price"); factory.EventType = type; factory.FieldNameWeight = SupportExprNodeFactory.MakeIdentNodeMD("Volume"); _myView = new WeightedAverageView(factory, SupportStatementContextFactory.MakeAgentInstanceViewFactoryContext()); _childView = new SupportBeanClassView(typeof(SupportMarketDataBean)); _myView.AddView(_childView); }
public void SetUp() { _factory = new WeightedAverageViewFactory(); }
public void SetUp() { _container = SupportContainer.Reset(); _factory = new WeightedAverageViewFactory(); }