public void Verify_reverse_translation_is_resilient_to_empty_list()
        {
            TestMapper sut      = new TestMapper(_db, _identityManager);
            var        reversed = sut.ReverseMap(new SampleAggregateId[] { });

            Assert.That(reversed.Count, Is.EqualTo(0));

            reversed = sut.ReverseMap((SampleAggregateId[])null);
            Assert.That(reversed.Count, Is.EqualTo(0));
        }
        public void Verify_reverse_translation_is_not_case_sensitive()
        {
            TestMapper sut      = new TestMapper(_db, _identityManager);
            String     key      = Guid.NewGuid().ToString() + "CASE_UPPER";
            var        id       = sut.MapWithAutomaticCreate(key);
            var        reversed = sut.ReverseMap(id);

            Assert.That(reversed, Is.EqualTo(key.ToLowerInvariant()));
        }
        public void Verify_reverse_translation()
        {
            TestMapper sut      = new TestMapper(_db, _identityManager);
            String     key      = Guid.NewGuid().ToString();
            var        id       = sut.MapWithAutomaticCreate(key);
            var        reversed = sut.ReverseMap(id);

            Assert.That(reversed, Is.EqualTo(key));
        }
        public void Verify_identity_Translation()
        {
            TestMapper    sut            = new TestMapper(_db, _identityManager);
            MyAggregateId id             = new MyAggregateId(_seed++);
            var           mappedIdentity = sut.MapWithAutomaticCreate(id.AsString());

            var reverseMap = sut.ReverseMap(mappedIdentity);

            Assert.That(reverseMap, Is.EqualTo(id.AsString().ToLowerInvariant()));
        }
        public void Verify_alias_reverse_mapping()
        {
            TestMapper sut      = new TestMapper(_db, _identityManager);
            String     key1     = Guid.NewGuid().ToString();
            String     key2     = Guid.NewGuid().ToString();
            var        identity = sut.MapWithAutomaticCreate(key1);

            sut.AddAlias(identity, key2);

            var key = sut.ReverseMap(identity);

            Assert.That(key, Is.EqualTo(key1));
        }
        public void Verify_reverse_translation_is_resilient_to_missing_id()
        {
            TestMapper sut  = new TestMapper(_db, _identityManager);
            String     key1 = Guid.NewGuid().ToString();
            String     key2 = Guid.NewGuid().ToString();

            var id1 = sut.MapWithAutomaticCreate(key1);
            var id2 = sut.MapWithAutomaticCreate(key2);
            var id3 = new SampleAggregateId(100000);

            var reversed = sut.ReverseMap(id1, id2, id3);

            Assert.That(reversed[id1], Is.EqualTo(key1));
            Assert.That(reversed[id2], Is.EqualTo(key2));
            Assert.That(reversed.ContainsKey(id3), Is.False);
        }
        public void Verify_reverse_translation_multiple()
        {
            TestMapper sut  = new TestMapper(_db, _identityManager);
            String     key1 = Guid.NewGuid().ToString();
            String     key2 = Guid.NewGuid().ToString();
            String     key3 = Guid.NewGuid().ToString();

            var id1 = sut.MapWithAutomaticCreate(key1);
            var id2 = sut.MapWithAutomaticCreate(key2);
            var id3 = sut.MapWithAutomaticCreate(key3);

            var reversed = sut.ReverseMap(id1, id2, id3);

            Assert.That(reversed[id1], Is.EqualTo(key1));
            Assert.That(reversed[id2], Is.EqualTo(key2));
            Assert.That(reversed[id3], Is.EqualTo(key3));
        }