示例#1
0
        public void AddOrReplaceItem_ExistingKey_ReplaceAndReturnsTrue()
        {
            //arrange
            IUntypedRecord rec           = new KeyValRecord(_items, _recNo, 1, 0, null, null, null, _typeDefs, _config, null, ActionOnDuplicateKey.IgnoreItem);
            var            itemToReplace = KeyValItem.CreateItem("I_num", 518, _typeDefs);

            //act
            var result = rec.AddOrReplaceItem(itemToReplace);

            //assert
            result.Should().BeTrue();

            rec.Count.Should().Be(4);
            rec.RecNo.Should().Be(26);

            rec[0].Should().BeOfType(typeof(string));
            rec[0].Should().Be("71941");
            rec[3].Should().BeOfType(typeof(string));
            rec[3].Should().Be("518");
            rec.Keys[3].Should().Be("I_num");
        }
示例#2
0
        public void AddOrReplaceItem_NewKeyButCannotAlterFields_ReturnNull()
        {
            //arrange
            _config.AllowTransformToAlterFields = false; //it was set to true in test Initialize method
            IRecord rec       = new KeyValRecord(_items, _recNo, 1, 0, null, null, null, _typeDefs, _config, null, ActionOnDuplicateKey.IgnoreItem);
            var     itemToAdd = KeyValItem.CreateItem("I_newNum", 518, _typeDefs);

            //act
            var result = rec.AddOrReplaceItem(itemToAdd);

            //assert
            result.Should().NotHaveValue();

            rec.Count.Should().Be(4);
            rec.RecNo.Should().Be(26);

            rec[0].Should().BeOfType(typeof(string));
            rec[0].Should().Be("71941");
            rec[3].Should().BeOfType(typeof(int));
            rec[3].Should().Be(184);
        }
示例#3
0
        public void AddOrReplaceItem_NewKey_AddAndReturnFalse()
        {
            //arrange
            IUntypedRecord rec       = new KeyValRecord(_items, _recNo, 1, 0, null, null, null, _typeDefs, _config, null, ActionOnDuplicateKey.IgnoreItem);
            var            itemToAdd = KeyValItem.CreateItem("I_newNum", 518, _typeDefs);

            //act
            var result = rec.AddOrReplaceItem(itemToAdd);

            //assert
            result.Should().BeFalse();

            rec.Count.Should().Be(5);
            rec.RecNo.Should().Be(26);

            rec[0].Should().BeOfType(typeof(string));
            rec[0].Should().Be("71941");
            rec[3].Should().BeOfType(typeof(string));
            rec[3].Should().Be("184");
            rec[4].Should().BeOfType(typeof(string));
            rec[4].Should().Be("518");
            rec.Keys[4].Should().Be("I_newNum");
        }