示例#1
0
        public void DanglingHave()
        {
            // Arrange
            var parent = new Container()
            {
                Subs = RandomValueGen.GetRandomArray <Sub>(2)
            };
            var search = RandomValueGen.GetRandomFrom(parent.Subs);

            // Pre-assert
            // Act
            Assert.That(() =>
            {
                Expect(parent).Not.To.Have.Child(search);
            }, Throws.Exception.InstanceOf <UnmetExpectationException>());

            Assert.That(() =>
            {
                Expect(parent).To.Not.Have.Child(search);
            }, Throws.Exception.InstanceOf <UnmetExpectationException>());

            Assert.That(() =>
            {
                Expect(parent).To.Have.Child(search);
            }, Throws.Nothing);
            // Assert
        }
        public void Count_ShouldReturnActualCount()
        {
            // Arrange
            var sut   = Create <string, bool>();
            var items = RandomValueGen.GetRandomArray <KeyValuePair <string, bool> >();

            items.ForEach(sut.Add);

            // Pre-assert

            // Act
            var result = sut.Count;

            // Assert
            Expect(result).To.Equal(items.Length);
        }
        public void Values_ShouldReturnKnownValues()
        {
            // Arrange
            var items = RandomValueGen.GetRandomArray <KeyValuePair <string, string> >();
            var sut   = Create <string, string>();

            items.ForEach(sut.Add);

            // Pre-assert

            // Act
            var result = sut.Values;

            // Assert
            // TODO: swap out with To.Be.Equivalent.To() when the syntax is available in NExpect
            Assert.That(result, Is.EquivalentTo(items.Select(i => i.Value)));
        }
        public void CopyTo_ShouldCopyKnownKeyValuePairs()
        {
            // Arrange
            var start     = RandomValueGen.GetRandomInt(2, 4);
            var arraySize = RandomValueGen.GetRandomInt(10, 15);
            var items     = RandomValueGen.GetRandomArray <KeyValuePair <string, string> >(2, 4);
            var target    = new KeyValuePair <string, string> [arraySize];
            var sut       = Create <string, string>();

            items.ForEach(sut.Add);

            // Pre-assert

            // Act
            sut.CopyTo(target, start);

            // Assert
            var defaultValue = default(KeyValuePair <string, string>);

            PyLike.Range(start).ForEach(i => Expect(target[i]).To.Equal(defaultValue));
            PyLike.Range(start + items.Length, arraySize).ForEach(
                i => Expect(target[i]).To.Equal(defaultValue));
            items.ForEach(i => Expect(target).To.Contain.Exactly(1).Equal.To(i));
        }