1 //
2 // Copyright (c) 2010-2018 Antmicro
3 // Copyright (c) 2011-2015 Realtime Embedded
4 //
5 // This file is licensed under the MIT License.
6 // Full license text is available in 'licenses/MIT.txt'.
7 //
8 using Antmicro.Migrant;
9 using Antmicro.Renode.Core;
10 using Antmicro.Renode.Peripherals.CPU;
11 
12 namespace Antmicro.Renode.UnitTests.Mocks
13 {
14     public class MockCPU : EmptyCPU
15     {
MockCPU(IMachine machine)16         public MockCPU(IMachine machine) : base(machine, "mock")
17         {
18         }
19 
20         public string Placeholder { get; set; }
21 
22         public TwoStateEnum EnumValue { get; set; }
23 
24         public ICPU OtherCpu { get; set; }
25 
Load(PrimitiveReader reader)26         public override void Load(PrimitiveReader reader)
27         {
28             var present = reader.ReadBoolean();
29             if(present)
30             {
31                 Placeholder = reader.ReadString();
32             }
33         }
34 
Save(PrimitiveWriter writer)35         public override void Save(PrimitiveWriter writer)
36         {
37             var present = Placeholder != null;
38             writer.Write(present);
39             if(present)
40             {
41                 writer.Write(Placeholder);
42             }
43         }
44     }
45 }
46 
47