public void OnePosition_TotalValue() { double expectedAmount = 12345.67; Position pos = new Position { SecurityIdentifier = "foo", Amount = expectedAmount }; Portfolio target = new Portfolio(); target.Positions.Add(pos); Assert.AreEqual(expectedAmount, target.TotalValue); }
public void TwoPositions_TotalValue() { Position posOne = new Position { SecurityIdentifier = "foo", Amount = 12345.67 }; Position posTwo = new Position { SecurityIdentifier = "bar", Amount = 23456.78 }; double expectedAmount = posOne.Amount + posTwo.Amount; Portfolio target = new Portfolio(); target.Positions.Add(posOne); target.Positions.Add(posTwo); Assert.AreEqual(expectedAmount, target.TotalValue); }
public void AddingPositionFiresPropertyChangedEvent() { Position posOne = new Position { SecurityIdentifier = "foo", Amount = 12345.67 }; Position posTwo = new Position { SecurityIdentifier = "bar", Amount = 23456.78 }; Portfolio target = new Portfolio(); target.Positions.Add(posOne); List<string> propertyNames = new List<string>(); target.PropertyChanged += (s, e) => { propertyNames.Add(e.PropertyName); }; target.Positions.Add(posTwo); Assert.AreEqual(1, propertyNames.Count(), "checking propertyNames Count"); Assert.IsTrue(propertyNames.Contains(String.Empty), "checking that propertyNames contains empty string"); }
public void ChangingPositionAmountInOldCollectionDoesNotFirePropertyChangedEvent() { Position posOne = new Position { SecurityIdentifier = "foo", Amount = 12345.67 }; Position posTwo = new Position { SecurityIdentifier = "bar", Amount = 23456.78 }; Position posThree = new Position { SecurityIdentifier = "bletch", Amount = 34567.89 }; ObservableCollection<Position> origPositions = new ObservableCollection<Position>{ posOne, posTwo }; ObservableCollection<Position> newPositions = new ObservableCollection<Position> { posThree }; Portfolio target = new Portfolio { Positions = origPositions }; target.Positions = newPositions; List<string> propertyNames = new List<string>(); target.PropertyChanged += (s, e) => { propertyNames.Add(e.PropertyName); }; posOne.Amount = 45678.90; Assert.AreEqual(0, propertyNames.Count(), "checking propertyNames Count"); }
public void ChangingRemovedPositionDoesNotFirePropertyChangedEvent() { Position posOne = new Position { SecurityIdentifier = "foo", Amount = 12345.67 }; Position posTwo = new Position { SecurityIdentifier = "bar", Amount = 23456.78 }; Portfolio target = new Portfolio(); target.Positions.Add(posOne); target.Positions.Add(posTwo); target.Positions.Remove(posTwo); List<string> propertyNames = new List<string>(); target.PropertyChanged += (s, e) => { propertyNames.Add(e.PropertyName); }; posTwo.Amount = 34567.89; Assert.AreEqual(0, propertyNames.Count(), "checking propertyNames Count"); }
public void ReplacingPositionsCollectionFiresPropertyChangedEvent() { Position posOne = new Position { SecurityIdentifier = "foo", Amount = 12345.67 }; Position posTwo = new Position { SecurityIdentifier = "bar", Amount = 23456.78 }; Position posThree = new Position { SecurityIdentifier = "bletch", Amount = 34567.89 }; ObservableCollection<Position> origPositions = new ObservableCollection<Position>{ posOne, posTwo }; ObservableCollection<Position> newPositions = new ObservableCollection<Position> { posThree }; Portfolio target = new Portfolio { Positions = origPositions }; List<string> propertyNames = new List<string>(); target.PropertyChanged += (s, e) => { propertyNames.Add(e.PropertyName); }; target.Positions = newPositions; Assert.AreEqual(1, propertyNames.Count(), "checking propertyNames Count"); Assert.IsTrue(propertyNames.Contains(String.Empty), "checking that propertyNames contains String.Empty"); }