public static void Remove(State state, string description, string name, ref RegState source, ref bool pass, RegState?final = null) { state.AddReport(description); source.Zap(Const.TestExt); var result = InvokeFileMetaAssoc(state, "-r"); if (result != 0) { state.AddReport(String.Format("FileMetaAssoc -r failed for {0}", name)); pass = false; } var outcome = new RegState(); outcome.Read(Const.TestExt); if (final == null) { // Usually, the expected final state is an empty registry if (outcome != new RegState()) { state.AddReport(String.Format("Remove did not completely clean up for {0}", name)); pass = false; } } else { // If the final state was specified, verify that we got it if (outcome != final) { state.AddReport(String.Format("Remove did not produce the expected final registry state for {0}", name)); pass = false; } } // Clean up after ourselves RegState.Wipe(Const.TestExt); }
private static void RoundTrip(State state, string name, ref RegState source, ref bool pass) { source.Zap(Const.TestExt); var read = new RegState(); read.Read(Const.TestExt); if (read != source) { state.AddReport(String.Format("Round-trip failed for {0}", name)); pass = false; } RegState.Wipe(Const.TestExt); var clear = new RegState(); clear.Read(Const.TestExt); if (clear != new RegState()) { state.AddReport(String.Format("Wipe failed for {0}", name)); pass = false; } }