public void Words_contains_the_same_elements_as_the_given_list() { var words = TestData.CreateListOfWordsEnumerable(20).ToList(); var sut = WordChain.New(words, TimeSpan.Zero); Assert.Equal(words.Count, sut.Words.Count()); Assert.All(sut.Words, word => Assert.Contains(word, words)); }
public void New_produces_an_object_that_is_of_type_IWordChain() => Xssert .TheActualType(actualTypeSelector: () => WordChain.New( words: TestData.CreateListOfWordsEnumerable(2), duration: TimeSpan.Zero ) ) .IsDerivedFromTheExpectedType <IWordChain>() ;
public void Throws_ArgumentOutOfRangeException_when_words_parameter_holds_less_than_two_words(int amountOfWords) => Xssert.ThrowsArgumentOutOfRangeException( testCode: () => { var words = TestData.CreateListOfWordsEnumerable(amountOfWords); WordChain.New(words: words, duration: TimeSpan.Zero); }, expectedParameterName: "words", expectedMessageContains: $"The parameter 'words' should at least contain 2 words, in stead of the provided amount of '{amountOfWords}' words." ) ;
public static IEnumerable <object[]> Duration_is_calulcated_accordingly_for_a_given_IWordChain_collection_TestData() => new List <object[]> { new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(1)) }, TimeSpan.FromSeconds(1) }, new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(1)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(5)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMinutes(1)) }, new TimeSpan(hours: 0, minutes: 1, seconds: 6), }, new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMilliseconds(505)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(5)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMinutes(3)) }, new TimeSpan(hours: 0, minutes: 3, seconds: 5).Add(TimeSpan.FromMilliseconds(505)), } } ;
public static IEnumerable <object[]> IWordChain_collections_are_equivalent_as_those_that_where_passed_TestData() => new List <object[]> { new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(1)) }, 1 }, new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(1)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(5)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMinutes(1)) }, 3 }, new object[] { new List <IWordChain> { WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMilliseconds(505)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromSeconds(5)), WordChain.New(TestData.CreateListOfWordsEnumerable(10), TimeSpan.FromMinutes(3)) }, 3 } } ;
public void Length_reflects_the_number_of_words_in_the_chain(int amountOfWords) => Assert.Equal(amountOfWords, WordChain.New(TestData.CreateListOfWordsEnumerable(amountOfWords), TimeSpan.Zero).Length);
public void EndingWord_is_the_same_as_the_last_word_in_the_given_list() => Assert.Equal("word20", WordChain.New(TestData.CreateListOfWordsEnumerable(20), TimeSpan.Zero).EndingWord);
public void Throws_ArgumentNullException_when_words_parameter_is_null() => Xssert.ThrowsArgumentNullException( testCode: () => WordChain.New(words: null, duration: TimeSpan.Zero), expectedParameterName: "words" ) ;