Revert "Revert "Added WeaponsFactory Class from Mac""

This reverts commit 03cdec0f32eee4cafd2118f5be1fb8aa1234494d.
created test class