public void settings_load_correctly()
        {
            var fileSystem = new MockFileSystem();
            var fileName   = fileSystem.Path.Combine(fileSystem.AllDirectories.First(), FILENAME);

            fileSystem.AddFile(fileName, new MockFileData($"{{'settings': {{ '{TEST_SETTING}': '{TEST_SETTING_VALUE}' }} }}"));

            var chain = fileSystem.LoadChain(fileName);

            chain.Settings.Should().Contain(TEST_SETTING, TEST_SETTING_VALUE);
        }
        public void settings_default_to_empty_dictionary()
        {
            var fileSystem = new MockFileSystem();
            var fileName   = fileSystem.Path.Combine(fileSystem.AllDirectories.First(), FILENAME);

            fileSystem.AddFile(fileName, new MockFileData($"{{ }}"));

            var chain = fileSystem.LoadChain(fileName);

            chain.Settings.Should().BeEmpty();
        }
        public void missing_address_version_defaults_correctly()
        {
            var fileSystem = new MockFileSystem();
            var fileName   = fileSystem.Path.Combine(fileSystem.AllDirectories.First(), FILENAME);

            fileSystem.AddFile(fileName, new MockFileData("{'magic': 1218031260}"));

            var chain = fileSystem.LoadChain(FILENAME);

            chain.AddressVersion.Should().Be(ProtocolSettings.Default.AddressVersion);
        }
        public void specified_address_version_loads_correctly()
        {
            const byte addressVersion = 0x53;

            var fileSystem = new MockFileSystem();
            var fileName   = fileSystem.Path.Combine(fileSystem.AllDirectories.First(), FILENAME);

            fileSystem.AddFile(fileName, new MockFileData($"{{'magic': 1218031260, 'address-version': {addressVersion} }}"));

            var chain = fileSystem.LoadChain(fileName);

            chain.AddressVersion.Should().Be(addressVersion);
        }