local K=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local H=require(K.Packages.Dex.Observables.Observable)local x=require(K.Packages.Dex.Reflection.IsObservable)return function()it("\114\101\116\117\114\110\115 \116\114\117\101 \102\111\114 \079\098\115\101\114\118\097\098\108\101",function()local K=H.new(function()return 42 end,function()return function() end end);(expect(x(K))).to.equal(true)end)it("\114\101\116\117\114\110\115 \102\097\108\115\101 \102\111\114 \110\111\110-\079\098\115\101\114\118\097\098\108\101 \118\097\108\117\101\115",function()(expect(x(nil))).to.equal(false);(expect(x(true))).to.equal(false);(expect(x(42))).to.equal(false);(expect(x("\104\101\108\108\111"))).to.equal(false);(expect(x({}))).to.equal(false);(expect(x(function() end))).to.equal(false)end)end
--!strict
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Observable = require(ReplicatedStorage.Packages.Dex.Observables.Observable)
local IsObservable = require(ReplicatedStorage.Packages.Dex.Reflection.IsObservable)


return function()
    it("returns true for Observable", function()
        local observable = Observable.new(
            function()
                return 42
            end,
            function()
                return function() end
            end
        )
        expect(IsObservable(observable)).to.equal(true)
    end)

    it("returns false for non-Observable values", function()
        expect(IsObservable(nil)).to.equal(false)
        expect(IsObservable(true)).to.equal(false)
        expect(IsObservable(42)).to.equal(false)
        expect(IsObservable("hello")).to.equal(false)
        expect(IsObservable({})).to.equal(false)
        expect(IsObservable(function() end)).to.equal(false)
    end)
end
