Skip to content

Commit

Permalink
Merge pull request #102 from benpollarduk/json-update
Browse files Browse the repository at this point in the history
Json update
  • Loading branch information
benpollarduk authored Nov 23, 2024
2 parents 213e0fd + 6f99e93 commit ef07b45
Show file tree
Hide file tree
Showing 41 changed files with 481 additions and 217 deletions.
4 changes: 2 additions & 2 deletions NetAF.Tests/Assets/Attributes/Attribute_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ namespace NetAF.Tests.Assets.Attributes
internal class Attribute_Tests
{
[TestMethod]
public void GivenFromSerialization_ThenAttributeRestoredCorrectly()
public void GivenFromSerialization_WhenFromAttribute_ThenAttributeRestoredCorrectly()
{
Attribute attribute = new("a", "b", 1, 10);
AttributeSerialization serialization = new(attribute);
AttributeSerialization serialization = AttributeSerialization.FromAttribute(attribute);

var result = Attribute.FromSerialization(serialization);

Expand Down
10 changes: 5 additions & 5 deletions NetAF.Tests/Logic/Arrangement/AssetArranger_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void GivenAGame_WhenRestoreFromSerializedAndPlayerTookAnItemFromARoom_The
game2.Player.AddItem(item2);
room2.RemoveItem(item2);

GameSerialization serialization = new(game2);
GameSerialization serialization = GameSerialization.FromGame(game2);

AssetArranger.Arrange(game, serialization);

Expand All @@ -59,7 +59,7 @@ public void GivenAGame_WhenRestoreFromSerializedAndItemRemoved_ThenItemMissingIn

room2.RemoveItem(item2);

GameSerialization serialization = new(game2);
GameSerialization serialization = GameSerialization.FromGame(game2);

AssetArranger.Arrange(game, serialization);

Expand Down Expand Up @@ -87,7 +87,7 @@ public void GivenAGame_WhenRestoreFromSerializedAndCharacterRemoved_ThenCharacte

room2.RemoveCharacter(character2);

GameSerialization serialization = new(game2);
GameSerialization serialization = GameSerialization.FromGame(game2);

AssetArranger.Arrange(game, serialization);

Expand Down Expand Up @@ -115,7 +115,7 @@ public void GivenAGame_WhenRestoreFromSerializedAndPlayerDroppedAnItemInARoom_Th
game2.Player.RemoveItem(i);
room2.AddItem(i);

GameSerialization serialization = new(game2);
GameSerialization serialization = GameSerialization.FromGame(game2);

AssetArranger.Arrange(game, serialization);

Expand Down Expand Up @@ -151,7 +151,7 @@ public void GivenAGame_WhenRestoreFromSerializedAndCharacterMovedFromRoom1ToRoom
roomA2.RemoveCharacter(npc2);
roomB2.AddCharacter(npc2);

GameSerialization serialization = new(game2);
GameSerialization serialization = GameSerialization.FromGame(game2);

AssetArranger.Arrange(game, serialization);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using NetAF.Logic;
using NetAF.Serialization.Assets;

namespace NetAF.Tests.Serialization.Assets
namespace NetAF.Tests.Logic
{
[TestClass]
public class PlayableCharacterLocation_Tests
Expand All @@ -11,7 +11,7 @@ public class PlayableCharacterLocation_Tests
public void GivenSerialization_WhenFromSerialization_ThenRestoredCorrectly()
{
PlayableCharacterLocation location = new("a", "b", "c");
PlayableCharacterLocationSerialization serialization = new(location);
PlayableCharacterLocationSerialization serialization = PlayableCharacterLocationSerialization.FromPlayableCharacterLocation(location);

var result = PlayableCharacterLocation.FromSerialization(serialization);

Expand Down
1 change: 0 additions & 1 deletion NetAF.Tests/NetAF.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ namespace NetAF.Tests.Serialization.Assets
public class AttributeManagerSerialization_Tests
{
[TestMethod]
public void Given1Attributes_ThenValuesHas1Element()
public void Given1Attributes_WhenFromAttributeManager_ThenValuesHas1Element()
{
AttributeManager attributeManager = new();
attributeManager.Add(new Attribute("A", "B", 5, 10), 0);

var result = new AttributeManagerSerialization(attributeManager);
var result = AttributeManagerSerialization.FromAttributeManager(attributeManager);

Assert.AreEqual(1, result.Values.Count);
}
Expand All @@ -25,20 +25,20 @@ public void Given0AttributesButARestorationWith1Attribute_WhenRestore_ThenValues
AttributeManager attributeManager1 = new();
AttributeManager attributeManager2 = new();
attributeManager2.Add(new Attribute("a", "b", 1, 10), 5);
var serialization = new AttributeManagerSerialization(attributeManager2);
var serialization = AttributeManagerSerialization.FromAttributeManager(attributeManager2);

serialization.Restore(attributeManager1);

Assert.AreEqual(1, attributeManager1.Count);
}

[TestMethod]
public void Given0Attributes_WhenRestoreFromARestorationWith1Attribute_ThenAttributeRestoredCorrectly()
public void Given0Attributes_WhenRestoreFromARestorationWith1Attribute_When_Restore_ThenAttributeRestoredCorrectly()
{
AttributeManager attributeManager1 = new();
AttributeManager attributeManager2 = new();
attributeManager2.Add(new Attribute("a", "b", 1, 10), 5);
var serialization = new AttributeManagerSerialization(attributeManager2);
var serialization = AttributeManagerSerialization.FromAttributeManager(attributeManager2);

serialization.Restore(attributeManager1);
var attributeDictionary = attributeManager2.GetAsDictionary();
Expand Down
18 changes: 9 additions & 9 deletions NetAF.Tests/Serialization/Assets/AttributeSerialization_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,41 +8,41 @@ namespace NetAF.Tests.Serialization.Assets
public class AttributeSerialization_Tests
{
[TestMethod]
public void GivenAttributeWhenNameIsA_ThenNameIsA()
public void GivenAttributeWhenNameIsA_WhenFromAttribute_ThenNameIsA()
{
Attribute attribute = new("A", "B", 5, 10);

AttributeSerialization result = new(attribute);
AttributeSerialization result = AttributeSerialization.FromAttribute(attribute);

Assert.AreEqual("A", result.Name);
}

[TestMethod]
public void GivenAttributeWhenDescriptionIsB_ThenDescriptionIsB()
public void GivenAttributeWhenDescriptionIsB_WhenFromAttribute_ThenDescriptionIsB()
{
Attribute attribute = new("A", "B", 5, 10);

AttributeSerialization result = new(attribute);
AttributeSerialization result = AttributeSerialization.FromAttribute(attribute);

Assert.AreEqual("B", result.Description);
}

[TestMethod]
public void GivenAttributeWhenMinimumIs5_ThenMinimumIs5()
public void GivenAttributeWhenMinimumIs5_WhenFromAttribute_ThenMinimumIs5()
{
Attribute attribute = new("A", "B", 5, 10);

AttributeSerialization result = new(attribute);
AttributeSerialization result = AttributeSerialization.FromAttribute(attribute);

Assert.AreEqual(5, result.Minimum);
}

[TestMethod]
public void GivenAttributeWhenMaximumIs10_ThenMaximumIs10()
public void GivenAttributeWhenMaximumIs10_WhenFromAttribute_ThenMaximumIs10()
{
Attribute attribute = new("A", "B", 5, 10);

AttributeSerialization result = new(attribute);
AttributeSerialization result = AttributeSerialization.FromAttribute(attribute);

Assert.AreEqual(10, result.Maximum);
}
Expand All @@ -52,7 +52,7 @@ public void GivenEmptyAttribute_WhenRestoreFrom_ThenAttributeRestoredCorrectly()
{
Attribute attribute = new("a", "b", 1, 10);
Attribute attribute2 = new(string.Empty, string.Empty, 0, 0);
AttributeSerialization serialization = new(attribute);
AttributeSerialization serialization = AttributeSerialization.FromAttribute(attribute);

serialization.Restore(attribute2);

Expand Down
18 changes: 9 additions & 9 deletions NetAF.Tests/Serialization/Assets/CharacterSerialization_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,43 @@ namespace NetAF.Tests.Serialization.Assets
public class CharacterSerialization_Tests
{
[TestMethod]
public void GivenIsAliveIsFalse_ThenIsAliveIsFalse()
public void GivenIsAliveIsFalse_WhenFromCharacter_ThenIsAliveIsFalse()
{
PlayableCharacter character = new(string.Empty, string.Empty);
character.Kill();

CharacterSerialization result = new(character);
CharacterSerialization result = CharacterSerialization.FromCharacter(character);

Assert.IsFalse(result.IsAlive);
}

[TestMethod]
public void GivenIsAliveIsTrue_ThenIsAliveIsTrue()
public void GivenIsAliveIsTrue_WhenFromCharacter_ThenIsAliveIsTrue()
{
PlayableCharacter character = new(string.Empty, string.Empty);

CharacterSerialization result = new(character);
CharacterSerialization result = CharacterSerialization.FromCharacter(character);

Assert.IsTrue(result.IsAlive);
}

[TestMethod]
public void GivenNoItems_ThenItemsLengthIs0()
public void GivenNoItems_WhenFromCharacter_ThenItemsLengthIs0()
{
PlayableCharacter character = new(string.Empty, string.Empty);

CharacterSerialization result = new(character);
CharacterSerialization result = CharacterSerialization.FromCharacter(character);

Assert.AreEqual(0, result.Items.Length);
}

[TestMethod]
public void Given1Item_ThenItemsLengthIs1()
public void Given1Item_WhenFromCharacter_ThenItemsLengthIs1()
{
PlayableCharacter character = new(string.Empty, string.Empty);
character.AddItem(new Item(string.Empty, string.Empty));

CharacterSerialization result = new(character);
CharacterSerialization result = CharacterSerialization.FromCharacter(character);

Assert.AreEqual(1, result.Items.Length);
}
Expand All @@ -56,7 +56,7 @@ public void GivenCharacterThatIsAlive_WhenRestoreFromCharacterThatIsNotAlive_The
PlayableCharacter character = new(string.Empty, string.Empty, [new Item("a", "b")]);
PlayableCharacter character2 = new(string.Empty, string.Empty, [new Item("a", "b")]);
character2.Kill();
CharacterSerialization serialization = new(character2);
CharacterSerialization serialization = CharacterSerialization.FromCharacter(character2);

serialization.Restore(character);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,34 @@ namespace NetAF.Tests.Serialization.Assets
public class ConversationSerialization_Tests
{
[TestMethod]
public void GivenNoCurrentParagraph_ThenCurrentParagraphIsNoCurrentParagraph()
public void GivenNoCurrentParagraph_WhenFromConversation_ThenCurrentParagraphIsNoCurrentParagraph()
{
Conversation conversation = new(new Paragraph(string.Empty), new Paragraph(string.Empty));

ConversationSerialization result = new(conversation);
ConversationSerialization result = ConversationSerialization.FromConversation(conversation);

Assert.AreEqual(ConversationSerialization.NoCurrentParagraph, result.CurrentParagraph);
}

[TestMethod]
public void GivenCurrentParagraphIsElement0_ThenCurrentParagraphIs0()
public void GivenCurrentParagraphIsElement0_WhenFromConversation_ThenCurrentParagraphIs0()
{
Conversation conversation = new(new Paragraph(string.Empty), new Paragraph(string.Empty));
conversation.Next(null);

ConversationSerialization result = new(conversation);
ConversationSerialization result = ConversationSerialization.FromConversation(conversation);

Assert.AreEqual(0, result.CurrentParagraph);
}

[TestMethod]
public void GivenCurrentParagraphIsElement1_ThenCurrentParagraphIs1()
public void GivenCurrentParagraphIsElement1_WhenFromConversation_ThenCurrentParagraphIs1()
{
Conversation conversation = new(new Paragraph(string.Empty), new Paragraph(string.Empty));
conversation.Next(null);
conversation.Next(null);

var result = new ConversationSerialization(conversation);
var result = ConversationSerialization.FromConversation(conversation);

Assert.AreEqual(1, result.CurrentParagraph);
}
Expand All @@ -46,7 +46,7 @@ public void GivenAConversation_WhenRestoreFromWithNoCurrentParagraph_ThenCurrent
Conversation conversation = new(new Paragraph(string.Empty), new Paragraph(string.Empty));
conversation.Next(null);
Conversation conversation2 = new();
ConversationSerialization serialization = new(conversation2);
ConversationSerialization serialization = ConversationSerialization.FromConversation(conversation2);

serialization.Restore(conversation);

Expand All @@ -60,7 +60,7 @@ public void GivenAConversation_WhenRestoreFromWithCurrentParagraph1_ThenCurrentP
Conversation conversation2 = new(new Paragraph(string.Empty), new Paragraph(string.Empty), new Paragraph(string.Empty));
conversation2.Next(null);
conversation2.Next(null);
ConversationSerialization serialization = new(conversation2);
ConversationSerialization serialization = ConversationSerialization.FromConversation(conversation2);

serialization.Restore(conversation);

Expand Down
24 changes: 12 additions & 12 deletions NetAF.Tests/Serialization/Assets/ExaminableSerialization_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,52 +10,52 @@ namespace NetAF.Tests.Serialization.Assets
public class ExaminableSerialization_Tests
{
[TestMethod]
public void GivenIdentifierIsA_ThenIdentifierIsA()
public void GivenIdentifierIsA_WhenFromIExaminable_ThenIdentifierIsA()
{
Item examinable = new("A", string.Empty);

ExaminableSerialization result = new(examinable);
ExaminableSerialization result = ExaminableSerialization.FromIExaminable(examinable);

Assert.AreEqual("A", result.Identifier);
}

[TestMethod]
public void GivenIsPlayerVisibleIsFalse_ThenIsPlayerVisibleIsFalse()
public void GivenIsPlayerVisibleIsFalse_WhenFromIExaminable_ThenIsPlayerVisibleIsFalse()
{
Item examinable = new(string.Empty, string.Empty) { IsPlayerVisible = false };

ExaminableSerialization result = new(examinable);
ExaminableSerialization result = ExaminableSerialization.FromIExaminable(examinable);

Assert.IsFalse(result.IsPlayerVisible);
}

[TestMethod]
public void GivenIsPlayerVisibleIsTrue_ThenIsPlayerVisibleIsTrue()
public void GivenIsPlayerVisibleIsTrue_WhenFromIExaminable_ThenIsPlayerVisibleIsTrue()
{
Item examinable = new(string.Empty, string.Empty) { IsPlayerVisible = true };

ExaminableSerialization result = new(examinable);
ExaminableSerialization result = ExaminableSerialization.FromIExaminable(examinable);

Assert.IsTrue(result.IsPlayerVisible);
}

[TestMethod]
public void GivenNoAttributes_ThenAttributeNotNull()
public void GivenNoAttributes_WhenFromIExaminable_ThenAttributeNotNull()
{
Item examinable = new(string.Empty, string.Empty);

ExaminableSerialization result = new(examinable);
ExaminableSerialization result = ExaminableSerialization.FromIExaminable(examinable);

Assert.IsNotNull(result.AttributeManager);
}

[TestMethod]
public void Given1CustomCommand_ThenCustomCommandsHas1Element()
public void Given1CustomCommand_WhenFromIExaminable_ThenCustomCommandsHas1Element()
{
CustomCommand command = new(new CommandHelp("A", string.Empty), true, true, (_, _) => Reaction.Inform);
Item examinable = new(string.Empty, string.Empty, commands: [command]);

ExaminableSerialization result = new(examinable);
ExaminableSerialization result = ExaminableSerialization.FromIExaminable(examinable);

Assert.AreEqual(1, result.Commands.Length);
}
Expand All @@ -65,7 +65,7 @@ public void GivenAnExaminable_WhenRestoreFrom_ThenIsPlayerVisibleSetCorrectly()
{
Item item = new(string.Empty, string.Empty) { IsPlayerVisible = false };
Item item2 = new(string.Empty, string.Empty) { IsPlayerVisible = true };
ExaminableSerialization serialization = new(item2);
ExaminableSerialization serialization = ExaminableSerialization.FromIExaminable(item2);

serialization.Restore(item);

Expand All @@ -78,7 +78,7 @@ public void GivenAnExaminable_WhenRestoreFrom_ThenAttributesSetCorrectly()
Item item = new(string.Empty, string.Empty);
Item item2 = new(string.Empty, string.Empty);
item2.Attributes.Add(new Attribute(string.Empty, string.Empty, 0, 1), 1);
ExaminableSerialization serialization = new(item2);
ExaminableSerialization serialization = ExaminableSerialization.FromIExaminable(item2);

serialization.Restore(item);

Expand Down
Loading

0 comments on commit ef07b45

Please sign in to comment.