public void testDelimiterDetection() { log.enteredMethod(); String[] multipartLines = { "", "-----------------------------114782935826962", "Content-Disposition: form-data; name=\"datafile\"; filename=\"test.txt\"", "Content-Type: text/plain", "", "0123", "4567", "89ab", "cdef", "-----------------------------114782935826962--", }; Entity entity = buildEntity(multipartLines); MultiPartReader reader = new MultiPartReader("---------------------------114782935826962", entity); DelimiterIndicator indicator = reader.skipToNextDelimiterIndicator(); Assert.NotNull(indicator); Assert.IsInstanceOf<DelimiterFound>(indicator); DelimiterFound delimiterFound = (DelimiterFound)indicator; Assert.AreEqual(0, delimiterFound.StartOfDelimiter); Assert.False(delimiterFound.IsCloseDelimiter); // Content-Disposition MutableData stringBuffer = new MutableData(); String contentDisposition = reader.ReadLine(stringBuffer); Assert.AreEqual(multipartLines[2], contentDisposition); // Content-Type String contentType = reader.ReadLine(stringBuffer); Assert.AreEqual(multipartLines[3], contentType); // empty line String emptyLine = reader.ReadLine(stringBuffer); Assert.AreEqual("", emptyLine); // ending indicator indicator = reader.skipToNextDelimiterIndicator(); Assert.NotNull(indicator); Assert.IsInstanceOf<DelimiterFound>(indicator); delimiterFound = (DelimiterFound)indicator; Assert.True(delimiterFound.IsCloseDelimiter); }