public static IEntityDirectory <string> GetCommonDirectory() { var root = EntityDirectory <string> .Create(); var subFolder = root.GetOrAdd("TestDirectory", EntityDirectory <string> .Create); var testString = subFolder.GetOrAdd("TestString", () => EntitySubject <string> .Create("TestString")); var testInt = subFolder.GetOrAdd("TestInt", () => EntitySubject <int> .Create(23)); var testDouble = subFolder.GetOrAdd("TestDouble", () => EntitySubject <double> .Create(23.0)); var testBool = subFolder.GetOrAdd("TestBool", () => EntitySubject <bool> .Create(true)); var testList = subFolder.GetOrAdd("TestList", () => EntityList <IEntitySubject <int> > .Create()); testList.Add(EntitySubject <int> .Create(1)); testList.Add(EntitySubject <int> .Create(10)); testList.Add(EntitySubject <int> .Create(15)); return(root); }
public void Dynamic_Implementation_EntityValueInterface_With_Read_Write_Has_Hardcoded_Snapshot() { var dynamicEntity = EntityDynamic <ICommonDirectoryEntityValues> .Create(); var commonDirectory = dynamicEntity.Value; commonDirectory.TestDirectory.Value.TestBool.OnNext(!commonDirectory.TestDirectory.Value.TestBool.Value); commonDirectory.TestDirectory.Value.TestDouble.OnNext(commonDirectory.TestDirectory.Value.TestDouble.Value + 23); commonDirectory.TestDirectory.Value.TestInt.OnNext(commonDirectory.TestDirectory.Value.TestInt.Value + 23); commonDirectory.TestDirectory.Value.TestString.OnNext($"{commonDirectory.TestDirectory.Value.TestString.Value}TestString"); commonDirectory.TestDirectory.Value.TestList.Add(EntitySubject <int> .Create(1)); commonDirectory.TestDirectory.Value.TestList.Add(EntitySubject <int> .Create(10)); commonDirectory.TestDirectory.Value.TestList.Add(EntitySubject <int> .Create(15)); Assert.Equal( EntityTest.GetCommonDirectoryHardcodedDebugString(), dynamicEntity.Changes.Snapshot().ToDebugStringList()); }
public static dynamic GetDynamicCommonDirectory() { var root = EntityDirectory <string> .Create().AsDynamic(); root.TestDirectory = EntityDirectory <string> .Create(); root.TestDirectory.TestString = EntitySubject <string> .Create("TestString"); root.TestDirectory.TestInt = EntitySubject <int> .Create(23); root.TestDirectory.TestDouble = EntitySubject <double> .Create(23.0); root.TestDirectory.TestBool = EntitySubject <bool> .Create(true); root.TestDirectory.TestList = EntityList <IEntitySubject <int> > .Create(); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(1)); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(10)); root.TestDirectory.TestList.Add(EntitySubject <int> .Create(15)); return(root); }