public void TestPositionAssignment() { var dataFile = new DataFile("C:\\Users\\petere\\Documents\\Visual Studio 2013\\Projects\\ConsoleApplication1\\PositionCalculator\\test_data.csv"); var shortPositionTotalQty = dataFile.ShortPositions.Sum(r => r.Qty); //1500; var longPositionTotalQty = dataFile.LongPositions.Sum(r => r.Qty); //4600 if (shortPositionTotalQty != -1500 || longPositionTotalQty != 4600) { throw new InvalidOperationException("DataFile Contructor failed"); } }
public void TestBoxedPosition() { var dataFile = new DataFile(); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol,-520,200")); dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,520,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,-120,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500")); var boxPositionAsString = dataFile.GetBoxedPosition(); var boxPositions = boxPositionAsString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToList(); if (boxPositions[0] != "aTrader,aSymbol,520") { throw new InvalidOperationException("Boxed Position failed"); } }
public void TestNetPosition() { var dataFile = new DataFile(); dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol,-520,200")); dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,520,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,-120,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500")); dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500")); dataFile.TraderPositions.AddRange(dataFile.LongPositions.Union(dataFile.ShortPositions)); var netPositionAsString = dataFile.GetNetPosition(); var netPositions = netPositionAsString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToList(); if (!netPositions.Contains("aTrader,aSymbol,-120") || !netPositions.Contains("aTrader,aSymbol1,-440")) { throw new InvalidOperationException("Net Position failed"); } }