Esempio n. 1
0
        public void Rinkeby_loads_properly()
        {
            ChainSpecLoader            loader    = new ChainSpecLoader(new EthereumJsonSerializer());
            string                     path      = Path.Combine(TestContext.CurrentContext.WorkDirectory, "../../../../Chains/rinkeby.json");
            ChainSpec                  chainSpec = loader.Load(File.ReadAllBytes(path));
            ChainSpecBasedSpecProvider provider  = new ChainSpecBasedSpecProvider(chainSpec);
            RinkebySpecProvider        rinkeby   = RinkebySpecProvider.Instance;

            IReleaseSpec oldRinkebySpec = rinkeby.GetSpec(3660663);
            IReleaseSpec newRinkebySpec = provider.GetSpec(3660663);

            PropertyInfo[] propertyInfos = typeof(IReleaseSpec).GetProperties(BindingFlags.Public | BindingFlags.Instance);
            foreach (PropertyInfo propertyInfo in propertyInfos.Where(pi =>
                                                                      pi.Name != "MaximumExtraDataSize" &&
                                                                      pi.Name != "Registrar" &&
                                                                      pi.Name != "BlockReward" &&
                                                                      pi.Name != "DifficultyBombDelay" &&
                                                                      pi.Name != "DifficultyBoundDivisor"))
            {
                object a = propertyInfo.GetValue(oldRinkebySpec);
                object b = propertyInfo.GetValue(newRinkebySpec);

                Assert.AreEqual(a, b, propertyInfo.Name);
            }
        }