public void The_same_key_should_be_usable_in_different_sections()
        {
            var reader = new FileReader(GetPath("sections-with-same-keys.txt"));
            var parser = new SectionParser(reader);

            Assert.AreEqual("value", parser.Sections["section-one"]["key"]);
            Assert.AreEqual("value", parser.Sections["section-two"]["key"]);
        }
        public void Keys_should_be_able_to_contain_empty_values()
        {
            var reader = new FileReader(GetPath("key-with-empty-value.txt"));
            var parser = new SectionParser(reader);

            Assert.AreEqual(string.Empty, parser.Sections["header"]["project"]);
            Assert.AreEqual("4.5", parser.Sections["header"]["budget"]);
        }
 public void Section_should_not_contain_duplicate_keys()
 {
     var reader = new FileReader(GetPath("duplicate-section-keys.txt"));
     var parser = new SectionParser(reader);
 }
 public void No_valid_keys_in_section_should_throw_ArgumentException()
 {
     //header section has no keys starting in column 0
     var reader = new FileReader(GetPath("section-no-keys.txt"));
     var parser = new SectionParser(reader);
 }
 public virtual void SetUp()
 {
     Parser = new SectionParser(new FileReader(GetPath("valid-config.txt")));
 }
 public void Constructor_should_throw_ArgumentException_if_first_non_blank_line_is_not_a_section_heading()
 {
     var parser = new SectionParser(new FileReader(GetPath("invalid-firstline.txt")));
 }
 public void Constructor_should_throw_ArgumentException_if_file_has_non_unique_section_headers()
 {
     var parser = new SectionParser(new FileReader(GetPath("duplicate-headings.txt")));
 }
 public override void SetUp()
 {
     Parser = new SectionParser(new FileReader(GetPath("valid-leading-whitespace.txt")));
 }