public void EquatableTest()
        {
            //-- Arrange
            var actualZero = new EquatableStringEntity(0)
            {
                Data = "entity 0"
            };
            var wrongOneOne = new EquatableStringEntity(1)
            {
                Data = "entity 1"
            };
            var wrongOneZero = new EquatableStringEntity(1)
            {
                Data = "entity 0"
            };
            var wrongZeroOne = new EquatableStringEntity(0)
            {
                Data = "entity 1"
            };
            var expectedZeroId   = 0;
            var expectedZeroData = "entity 0";
            var expectedZero     = new EquatableStringEntity(0)
            {
                Data = "entity 0"
            };

            //-- Act
            var actualZeroId   = actualZero.Id;
            var actualZeroData = actualZero.Data;

            //-- Assert
            Assert.AreEqual(expectedZeroId, actualZeroId);
            Assert.AreEqual(expectedZeroData, actualZeroData);
            Assert.AreEqual(expectedZero, actualZero);
            Assert.AreNotEqual(expectedZero, wrongOneOne);
            Assert.AreNotEqual(expectedZero, wrongOneZero);
            Assert.AreNotEqual(expectedZero, wrongZeroOne);
        }
예제 #2
0
        public void DictionaryRepositoryCrudTest()
        {
            //-- Arrange
            var dictionaryRepository = new DictionaryRepository <EquatableStringEntity>();
            var testEntity           = new EquatableStringEntity(1)
            {
                Data = "response1"
            };
            var updateEntity = new EquatableStringEntity(1)
            {
                Data = "response2"
            };
            var expectedAdded = new EquatableStringEntity(1)
            {
                Data = "response1"
            };
            var expectedUpdated = new EquatableStringEntity(1)
            {
                Data = "response2"
            };
            var expectedExceptionType    = typeof(System.Collections.Generic.KeyNotFoundException);
            var expectedExceptionMessage = "The given key '1' was not present in the dictionary.";

            //-- Act

            //-- Create
            dictionaryRepository.Add(testEntity);

            //-- Read
            var actualAdded = dictionaryRepository.FindById(testEntity.Id);

            //-- Update
            dictionaryRepository.Update(updateEntity);
            var actualUpdated = dictionaryRepository.FindById(testEntity.Id);

            //-- Delete
            dictionaryRepository.Delete(testEntity);
            EquatableStringEntity actualDeleted;

            System.Exception actualException;
            try
            {
                actualDeleted   = dictionaryRepository.FindById(testEntity.Id);
                actualException = new System.Exception();
            }
            catch (System.Collections.Generic.KeyNotFoundException ex)
            {
                actualDeleted   = null;
                actualException = ex;
            }
            catch (System.Exception ex)
            {
                actualException = ex;
                throw;
            }
            var actualExceptionType    = actualException.GetType();
            var actualExceptionMessage = actualException.Message;

            //-- Assert
            Assert.AreEqual(expectedAdded, actualAdded);
            Assert.AreEqual(expectedUpdated, actualUpdated);
            Assert.AreNotEqual(expectedAdded, actualUpdated);
            Assert.IsNull(actualDeleted);
            Assert.AreEqual(expectedExceptionType, actualExceptionType);
            Assert.AreEqual(expectedExceptionMessage, actualExceptionMessage);
        }