public void Append_03() { // arrange: UnLocode c1 = new UnLocode("LOCDA"); UnLocode c2 = new UnLocode("LOCDA"); ICarrierMovement m1 = MockRepository.GenerateStrictMock <ICarrierMovement>(); m1.Expect(m => m.ArrivalLocation).Return(c1).Repeat.Any(); m1.Expect(m => m.ArrivalTime).Return(DateTime.UtcNow + new TimeSpan(48, 0, 0)).Repeat.Any(); ICarrierMovement m2 = MockRepository.GenerateStrictMock <ICarrierMovement>(); m2.Expect(m => m.DepartureLocation).Return(c2).Repeat.Any(); m2.Expect(m => m.DepartureTime).Return(DateTime.UtcNow + new TimeSpan(72, 0, 0)).Repeat.Any(); ISchedule empty = new Schedule(); ISchedule schedule1 = empty.Append(m1); // act: ISchedule schedule2 = schedule1.Append(m2); // assert: Assert.IsFalse(schedule2.Equals(empty)); Assert.IsFalse(schedule2.Equals(schedule1)); Assert.AreSame(m1, schedule2[0]); Assert.AreSame(m2, schedule2[1]); Assert.AreEqual(2, schedule2.Count()); Assert.AreEqual(2, schedule2.MovementsCount); m1.VerifyAllExpectations(); m2.VerifyAllExpectations(); }
public void Append_02() { // arrange: ICarrierMovement m1 = MockRepository.GenerateStrictMock <ICarrierMovement>(); ISchedule empty = new Schedule(); // act: ISchedule schedule = empty.Append(m1); // assert: Assert.IsFalse(schedule.Equals(empty)); Assert.IsTrue(schedule.Equals(schedule)); Assert.AreSame(m1, schedule[0]); Assert.AreEqual(1, schedule.Count()); Assert.AreEqual(1, schedule.MovementsCount); }
public void Equals_04() { // arrange: ICarrierMovement m1 = MockRepository.GenerateStrictMock <ICarrierMovement, IObject>(); ICarrierMovement m2 = MockRepository.GenerateStrictMock <ICarrierMovement, IObject>(); m1.Expect(m => m.Equals(m2)).Return(true).Repeat.AtLeastOnce(); m2.Expect(m => m.Equals(m1)).Return(true).Repeat.AtLeastOnce(); m1.Expect(m => m.GetHashCode()).Return(543210).Repeat.AtLeastOnce(); m2.Expect(m => m.GetHashCode()).Return(543210).Repeat.AtLeastOnce(); ISchedule empty = new Schedule(); ISchedule schedule1 = empty.Append(m1); ISchedule schedule2 = empty.Append(m2); // act: bool equals1 = schedule1.Equals(schedule2); bool equals2 = schedule2.Equals(schedule1); // assert: Assert.IsTrue(equals1); Assert.IsTrue(equals2); Assert.AreEqual(schedule1.GetHashCode(), schedule2.GetHashCode()); m1.VerifyAllExpectations(); m2.VerifyAllExpectations(); }
public void Equals_05() { // arrange: ICarrierMovement m1 = MockRepository.GenerateStrictMock <ICarrierMovement>(); ICarrierMovement m2 = MockRepository.GenerateStrictMock <ICarrierMovement>(); m1.Expect(m => m.Equals(m2)).Return(false).Repeat.AtLeastOnce(); m2.Expect(m => m.Equals(m1)).Return(false).Repeat.AtLeastOnce(); ISchedule empty = new Schedule(); ISchedule schedule1 = empty.Append(m1); ISchedule schedule2 = empty.Append(m2); // act: bool equals1 = schedule1.Equals(schedule2); bool equals2 = schedule2.Equals(schedule1); // assert: Assert.IsFalse(equals1); Assert.IsFalse(equals2); m1.VerifyAllExpectations(); m2.VerifyAllExpectations(); }
/// <summary> /// Indicates whether the current object is equal to another object of the same type. /// </summary> /// <param name="other">An object to compare with this object.</param> /// <returns> /// true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false. /// </returns> public bool Equals(ScheduleInfo other) { return(IsFromConfiguration == other.IsFromConfiguration && _schedule.Equals(other._schedule)); }