コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }
コード例 #5
0
 /// <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));
 }